/* ===== LÍNEA GRÁFICA GLOBAL SIEPP ===== */

/* SIEPP · layout propio sin dependencia de Bootstrap. */
.siepp-container{width:100%;max-width:1140px;margin:0 auto;padding-left:16px;padding-right:16px}
.siepp-app-main__frame>.siepp-container,.siepp-page-section>.siepp-container{max-width:100%;padding-left:0;padding-right:0}
.siepp-grid-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;width:100%;margin:0 0 14px}
.siepp-align-items-center{align-items:center}
.siepp-justify-center{justify-content:center}
.siepp-grid-col{grid-column:1/-1;min-width:0}

/* Guardas estructurales globales: ningún contenido heredado puede quedar atrapado
   en una sola de las 12 columnas por omitir siepp-grid-col. */
.siepp-grid-row>*{min-width:0;max-width:100%}
.siepp-grid-row>br{display:none}
.siepp-grid-row>.siepp-content-stack,
.siepp-grid-row>.siepp-panel-grid,
.siepp-grid-row>.siepp-panel,
.siepp-grid-row>.siepp-card,
.siepp-grid-row>.siepp-align-center:not(.siepp-grid-col),
.siepp-grid-row>section,
.siepp-grid-row>header,
.siepp-grid-row>nav,
.siepp-grid-row>form,
.siepp-grid-row>fieldset,
.siepp-grid-row>table,
.siepp-grid-row>p,
.siepp-grid-row>h1,
.siepp-grid-row>h2,
.siepp-grid-row>h3,
.siepp-grid-row>h4,
.siepp-grid-row>h5,
.siepp-grid-row>h6{grid-column:1/-1;width:100%;min-width:0}
.siepp-grid-row>.siepp-visual-option{grid-column:span 4;width:100%;min-width:0;margin:0}
@media(max-width:991.98px){.siepp-grid-row>.siepp-visual-option{grid-column:span 6}}
@media(max-width:767.98px){.siepp-grid-row>.siepp-visual-option{grid-column:1/-1}}


.siepp-grid-col--span-3{grid-column:span 3}

.siepp-grid-col--span-4{grid-column:span 4}
.siepp-grid-col--span-5{grid-column:span 5}
.siepp-grid-col--span-6{grid-column:span 6}
.siepp-grid-col--span-7{grid-column:span 7}

.siepp-grid-col--span-9{grid-column:span 9}
.siepp-grid-col--span-10{grid-column:span 10}

.siepp-grid-col--span-12{grid-column:span 12}

.siepp-order-first{order:-1}
.siepp-align-left{text-align:left}.siepp-align-right{text-align:right}.siepp-align-center{text-align:center}.siepp-align-justify{text-align:justify}
.siepp-mb-0{margin-bottom:0}.siepp-mb-2{margin-bottom:8px}.siepp-mb-3{margin-bottom:12px}.siepp-mb-4{margin-bottom:16px}.siepp-mt-4{margin-top:16px}

.siepp-image-fluid{display:block;max-width:100%;height:auto}
.siepp-site-logo{display:inline-block;max-width:100%;height:auto}
.siepp-form-group{width:100%;margin:0 0 12px}
.siepp-nav-list{display:flex;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none}
.siepp-caption{color:inherit;font:700 11px/1.3 "Outfit","Lato",Arial,sans-serif;letter-spacing:.04em}
.siepp-form-step{display:flex;align-items:center;gap:9px;width:100%;margin:14px 0 10px;padding:9px 12px;border-left:4px solid var(--siepp-btn-info-a);border-radius:8px;background:#edf4f6;color:#365261;font:700 12px/1.35 "Outfit","Lato",Arial,sans-serif}
.siepp-form-step>span{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex:0 0 25px;border-radius:999px;background:var(--siepp-btn-info-b);color:#fff;font-weight:800}
.siepp-card__header{margin:-16px -16px 14px;padding:11px 16px;border-bottom:1px solid var(--siepp-ui-border);border-radius:14px 14px 0 0;background:#eef4f6;color:var(--siepp-ui-text)}
.siepp-dropdown-trigger{cursor:pointer}
.siepp-table{width:100%}
.siepp-progress{width:100%;height:12px;overflow:hidden;border-radius:999px;background:#e7eef1}.siepp-progress__bar{height:100%;background:var(--siepp-btn-info-b)}.siepp-progress__bar--success{background:var(--siepp-btn-success-b)}
@media(max-width:767.98px){.siepp-grid-row{grid-template-columns:1fr}.siepp-grid-col[class*="siepp-grid-col--span-"]{grid-column:1/-1}.siepp-container{padding-left:12px;padding-right:12px}}

:root{
  --siepp-focus:#318ba2;
  --siepp-surface:#fff;
  --siepp-text:#26343f;
  --siepp-line:#d6e1e5;
  --siepp-wine-950:#4f263f;
  --siepp-wine-800:#693550;
  --siepp-wine-650:#87436d;
  --siepp-wine-500:#a75487;
  --siepp-cyan-850:#205e70;
  --siepp-cyan-650:#318ba2;
  --siepp-cyan-450:#66bfce;
  --siepp-teal:#16877e;
  --siepp-gold:#d7a848;
  --siepp-green:#45a978;
  --siepp-blue:#537cc6;
  --siepp-ink:#243640;
  --siepp-muted:#60727d;
  --siepp-bg:#edf3f5;
  --siepp-white:#fff;
  --siepp-shadow:0 15px 38px rgba(34,58,70,.12);
  --sn-wine-900:#574255;
  --sn-wine-750:#6a5268;
  --sn-wine-550:#8d6f8a;
  --sn-slate-900:#445563;
  --sn-slate-750:#586b79;
  --sn-slate-550:#738896;
  --sn-teal-750:#3e7f89;
  --sn-teal-550:#68a6ae;
  --sn-ink:#253944;
  --sn-muted:#61747f;
  --sn-bg:#edf3f5;
  --sn-surface:#ffffff;
  --sn-soft:#f5f8f9;
  --sn-line:#d7e2e6;
  --sn-success:#3f8f70;
  --sn-danger:#9b4e63;
  --sn-shadow:0 14px 34px rgba(35,56,68,.11);
  --siepp-btn-radius:10px;
  --siepp-btn-primary-a:#835f78;
  --siepp-btn-primary-b:#704f66;
  --siepp-btn-secondary-a:#657681;
  --siepp-btn-secondary-b:#566771;
  --siepp-btn-info-a:#4e788e;
  --siepp-btn-info-b:#426878;
  --siepp-btn-success-a:#527c68;
  --siepp-btn-success-b:#466b59;
  --siepp-btn-warning-a:#966b45;
  --siepp-btn-warning-b:#805a3b;
  --siepp-btn-danger-a:#925b6b;
  --siepp-btn-danger-b:#7e4e5c;
  --siepp-btn-text:#fff;
  --siepp-ui-surface:#ffffff;
  --siepp-ui-surface-soft:#f6f9fa;
  --siepp-ui-border:#d8e3e7;
  --siepp-ui-text:#334d5d;
  --siepp-ui-muted:#657b88;
  --siepp-ui-radius:14px;
  --siepp-ui-gap:14px;
  --siepp-ui-shadow:0 7px 20px rgba(44,68,84,.08);
  --siepp-form-ink:#344d5c;
  --siepp-form-muted:#6c7f89;
  --siepp-form-line:#d5e2e7;
  --siepp-form-surface:#ffffff;
  --siepp-form-soft:#f7fafb;
  --siepp-form-focus:#3c91a8;
  --siepp-form-shadow:0 14px 34px rgba(41,68,81,.09);
  --siepp-form-radius:18px;
  --siepp-form-control-radius:11px;
}
html{box-sizing:border-box;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
*,*::before,*::after{box-sizing:inherit;}

/* Preparación visual inicial: evita mostrar markup heredado antes de normalizarlo. */
@keyframes sieppLoadFailsafe{to{visibility:visible}}
html.siepp-js-loading .siepp-app-main__frame{visibility:visible;opacity:1;animation:none}
html.siepp-js-loading .siepp-app-main__frame *,html.siepp-js-loading .siepp-app-main__frame *::before,html.siepp-js-loading .siepp-app-main__frame *::after{transition:none;animation:none}
html.siepp-js-ready .siepp-app-main__frame{visibility:visible}
body.siepp-global{margin:0;color:var(--siepp-text);background:#f2f6f7;font-family:"Lato",Arial,sans-serif;}
body.siepp-global img{max-width:100%;height:auto;}
body.siepp-global input,body.siepp-global select,body.siepp-global textarea,body.siepp-global button{font:inherit;}
body.siepp-global input,body.siepp-global select,body.siepp-global textarea{max-width:100%;}
body.siepp-global table{background:var(--siepp-surface);}
body.siepp-global :focus-visible{outline:3px solid rgba(49,139,162,.38);outline-offset:2px;}
[hidden]{display:none;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;}}
@media print{body.siepp-global{background:#fff;}}
.siepp-actions-center{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:10px 0;}
.siepp-module-enter{min-width:118px;}


body.siepp-global button:disabled,
body.siepp-global input:disabled{
  opacity:.5;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}
body.siepp-inicio-restaurado{
  margin:0;
  height:auto;
  min-height:0;
  padding:0;
  overflow-x:hidden;
  color:var(--siepp-ink);
  background:
    radial-gradient(circle at 4% 12%,rgba(102,191,206,.14),transparent 28rem),
    radial-gradient(circle at 96% 16%,rgba(167,84,135,.12),transparent 27rem),
    var(--siepp-bg);
  font-family:"Lato",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.siepp-inicio-restaurado *,
body.siepp-inicio-restaurado *::before,
body.siepp-inicio-restaurado *::after{box-sizing:border-box;}
.siepp-app-shell{width:min(1180px,100%);min-height:0;height:auto;margin:0 auto;background:#fff;box-shadow:0 0 34px rgba(31,53,64,.13);}
.siepp-app-header{
  position:relative;
  z-index:20;
  padding:8px 0;
  border-top:4px solid transparent;
  border-image:linear-gradient(90deg,var(--siepp-wine-800),var(--siepp-cyan-650),var(--siepp-gold)) 1;
  border-bottom:1px solid var(--siepp-line);
  background:rgba(255,255,255,.98);
  box-shadow:0 5px 18px rgba(32,57,69,.07);
}
.siepp-app-header__inner{
  display:grid;
  grid-template-columns:245px minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  min-width:0;
}
.siepp-app-brand{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.siepp-app-brand img{display:block;width:132px;max-height:48px;object-fit:contain;}
.siepp-app-brand__divider{width:1px;height:38px;background:var(--siepp-line);}
.siepp-app-brand__copy{display:flex;flex-direction:column;line-height:1;}
.siepp-app-brand__copy strong{color:var(--siepp-wine-800);font-family:"Outfit","Lato",Arial,sans-serif;font-size:25px;letter-spacing:.02em;}
.siepp-app-brand__copy small{margin-top:4px;color:var(--siepp-cyan-850);font-size:10px;font-weight:700;letter-spacing:.04em;}
.siepp-user-panel{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
  padding:7px 11px;
  border:1px solid #dce6e9;
  border-radius:14px;
  background:linear-gradient(135deg,#fbfdfd,#f2f8fa);
}
.siepp-user-avatar{
  display:grid;
  place-items:center;
  width:37px;
  height:37px;
  flex:0 0 37px;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(145deg,var(--siepp-cyan-850),var(--siepp-cyan-450));
  box-shadow:0 7px 16px rgba(49,139,162,.22);
}
.siepp-user-avatar svg{width:20px;height:20px;}
.siepp-user-copy{min-width:0;text-align:right;line-height:1.15;}
.siepp-user-label{display:block;margin-bottom:2px;color:var(--siepp-teal);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;}
.siepp-user-copy strong{display:block;overflow:hidden;color:#2d414c;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap;}
.siepp-user-meta{margin-top:2px;color:#61747e;font-size:9px;font-weight:600;line-height:1.2;}
.siepp-header-actions{display:flex;align-items:center;gap:7px;}
.siepp-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  padding:8px 13px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-size:10px;
  font-weight:800;
  letter-spacing:.035em;
  white-space:nowrap;
  box-shadow:0 7px 17px rgba(40,69,82,.15);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.siepp-action-btn svg{width:16px;height:16px;}


.siepp-action-btn:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 10px 21px rgba(40,69,82,.22);}
.siepp-home-main{background:var(--siepp-bg);}
.siepp-home-hero{padding:11px 0 10px;background:linear-gradient(135deg,rgba(238,248,250,.96),rgba(248,241,247,.96));border-bottom:1px solid var(--siepp-line);}
.siepp-home-hero__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;}
.siepp-home-hero__icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;color:#fff;background:linear-gradient(145deg,var(--siepp-wine-800),var(--siepp-cyan-650));box-shadow:0 9px 21px rgba(82,59,91,.2);}
.siepp-home-hero__icon svg{width:23px;height:23px;}
.siepp-home-hero__copy span{display:block;color:var(--siepp-cyan-850);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.siepp-home-hero__copy h1{margin:1px 0 2px;color:var(--siepp-wine-800);font-family:"Outfit","Lato",Arial,sans-serif;font-size:29px;font-weight:600;line-height:1;}
.siepp-home-hero__copy p{margin:0;color:var(--siepp-muted);font-size:12px;font-weight:500;line-height:1.25;}
.siepp-modules-section{padding:12px 0 9px;background:linear-gradient(180deg,#f4f8f9,#eef3f5);}
.siepp-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 1px 8px;}
.siepp-section-kicker{display:block;color:var(--siepp-wine-650);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
.siepp-section-heading h2{margin:1px 0 0;color:#2d414c;font-family:"Outfit","Lato",Arial,sans-serif;font-size:22px;font-weight:600;line-height:1;}
.siepp-section-heading p{margin:0;color:#70818a;font-size:10px;font-weight:600;}
.siepp-feature-card{
  position:relative;
  height:100%;
  overflow:hidden;
  border:1px solid #d4e0e4;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 25px rgba(33,58,69,.11);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.siepp-feature-card::before{content:none;display:none;}
.siepp-feature-card:hover{transform:translateY(-4px);border-color:#bfd4dc;box-shadow:0 17px 34px rgba(33,58,69,.17);}
.siepp-feature-card>img{display:block;width:100%;height:158px;object-fit:cover;object-position:center;transition:transform .35s ease,filter .35s ease;}
.siepp-feature-card:hover>img{transform:scale(1.025);filter:saturate(1.06);}
.siepp-feature-card__body{display:flex;flex-direction:column;min-height:183px;padding:12px 13px 11px;}
.siepp-feature-card__body h2{min-height:38px;max-height:38px;margin:0 0 7px;overflow:hidden;color:var(--siepp-wine-800);font-family:"Outfit","Lato",Arial,sans-serif;font-size:16px;font-weight:600;line-height:1.2;}
.siepp-feature-card__body>p:not(:last-child){display:-webkit-box;flex:1 1 auto;min-height:55px;max-height:55px;margin:0 0 8px;overflow:hidden;color:#536873;font-size:12.5px;font-weight:500;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3;}
.siepp-feature-card__body>p:last-child{margin:0;}
.siepp-feature-card__body .siepp-btn,
.siepp-feature-card__body .siepp-module-enter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:35px;
  min-height:35px;
  padding:6px 11px;
  border:0;
  border-radius:9px;
  color:#fff;
  -webkit-text-fill-color:#fff;
  background:linear-gradient(135deg,var(--siepp-wine-800),var(--siepp-wine-500));
  box-shadow:0 7px 17px rgba(105,53,80,.2);
  text-decoration:none;
  opacity:1;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.siepp-feature-grid>.siepp-feature-card:nth-child(3n/**/+2) .siepp-feature-card__body .siepp-btn{background:linear-gradient(135deg,var(--siepp-cyan-850),var(--siepp-cyan-450));box-shadow:0 7px 17px rgba(49,139,162,.2);}
.siepp-feature-grid>.siepp-feature-card:nth-child(3n/**/+3) .siepp-feature-card__body .siepp-btn{background:linear-gradient(135deg,#9a6432,var(--siepp-gold));box-shadow:0 7px 17px rgba(180,127,48,.2);}
.siepp-feature-card__body .siepp-btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 10px 22px rgba(64,56,72,.25);}
.siepp-feature-card__body .siepp-btn .siepp-caption,
.siepp-feature-card__body a.siepp-btn span,
.siepp-module-enter .siepp-caption{color:#fff;-webkit-text-fill-color:#fff;font-size:12px;font-weight:900;line-height:1;letter-spacing:.1em;text-shadow:0 1px 2px rgba(0,0,0,.2);opacity:1;}
.siepp-resources-section{padding:0 0 10px;background:#eef3f5;}
.siepp-resource-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:58px;
  padding:9px 12px;
  overflow:hidden;
  border:1px solid rgba(63,129,148,.2);
  border-radius:15px;
  background:
    linear-gradient(120deg,rgba(255,255,255,.96),rgba(232,247,249,.96));
  box-shadow:0 8px 22px rgba(34,58,70,.08);
  position:relative;
}
.siepp-resource-panel::after{content:none;display:none;}
.siepp-resource-panel__intro{display:flex;align-items:center;gap:10px;min-width:210px;}
.siepp-resource-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;color:#fff;background:linear-gradient(145deg,var(--siepp-cyan-850),var(--siepp-cyan-450));}
.siepp-resource-icon svg{width:20px;height:20px;}
.siepp-resource-panel__intro strong{display:block;color:#27414d;font-size:12px;font-weight:800;}
.siepp-resource-panel__intro span{display:block;margin-top:2px;color:#687b85;font-size:10px;font-weight:500;}
.siepp-resource-links{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.siepp-resource-link{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:7px 11px;border-radius:9px;color:#fff;text-decoration:none;background:linear-gradient(135deg,var(--siepp-cyan-850),var(--siepp-cyan-450));font-size:10px;font-weight:800;box-shadow:0 6px 14px rgba(49,139,162,.18);transition:transform .16s ease,box-shadow .16s ease;}
.siepp-resource-link:nth-child(even){background:linear-gradient(135deg,var(--siepp-wine-800),var(--siepp-wine-500));}
.siepp-resource-link:hover{transform:translateY(-1px);box-shadow:0 9px 18px rgba(48,75,87,.22);}
.siepp-resource-link span:last-child{font-size:16px;line-height:1;}
.siepp-app-footer{padding:9px 0;border-top:1px solid var(--siepp-line);background:#fff;}
.siepp-app-footer__inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;}
.siepp-app-footer__brand{display:flex;align-items:center;gap:8px;white-space:nowrap;}
.siepp-app-footer__brand strong{color:var(--siepp-wine-800);font-family:"Outfit","Lato",Arial,sans-serif;font-size:21px;}
.siepp-app-footer__brand span{color:#657984;font-size:10px;font-weight:600;}
.siepp-app-footer p{margin:0;text-align:center;color:#657984;font-size:10px;font-weight:500;}
.siepp-app-footer__status{display:flex;align-items:center;gap:6px;color:#236b7c;font-size:10px;font-weight:800;white-space:nowrap;}
.siepp-app-footer__status span{width:7px;height:7px;border-radius:50%;background:#28b27f;box-shadow:0 0 0 3px rgba(40,178,127,.12);}


@media (max-width:1050px){.siepp-app-header__inner{grid-template-columns:210px minmax(0,1fr) auto;gap:10px;}.siepp-app-brand img{width:105px;}.siepp-user-copy strong{font-size:11px;}.siepp-user-meta{font-size:8px;}.siepp-action-btn{padding:8px 10px;}}
@media (max-width:850px){.siepp-app-header__inner{grid-template-columns:1fr auto;}.siepp-user-panel{grid-column:1/-1;grid-row:2;justify-content:flex-start;}.siepp-user-copy{text-align:left;}.siepp-home-hero__inner{grid-template-columns:auto 1fr;}.siepp-resource-panel{align-items:flex-start;flex-direction:column;}.siepp-resource-links{justify-content:flex-start;}}
@media (max-width:575.98px){.siepp-app-header{padding:6px 0;}.siepp-app-header__inner{grid-template-columns:1fr;gap:7px;}.siepp-app-brand{justify-content:center;}.siepp-header-actions{justify-content:center;}.siepp-user-panel{grid-column:auto;grid-row:auto;}.siepp-user-meta{max-height:28px;overflow:hidden;}.siepp-home-hero__inner{grid-template-columns:1fr;text-align:center;}.siepp-home-hero__icon{margin:0 auto;}.siepp-home-hero__copy h1{font-size:25px;}.siepp-section-heading{align-items:flex-start;flex-direction:column;gap:2px;}.siepp-feature-card>img{height:148px;}.siepp-feature-card__body{min-height:178px;padding:11px 12px 10px;}.siepp-feature-card__body h2{font-size:15px;}.siepp-feature-card__body>p:not(:last-child){font-size:12px;}.siepp-resource-panel__intro{min-width:0;}.siepp-resource-links{width:100%;}.siepp-resource-link{width:100%;justify-content:space-between;}.siepp-app-footer__inner{grid-template-columns:1fr;text-align:center;gap:3px;}.siepp-app-footer__brand,.siepp-app-footer__status{justify-content:center;}}
body.siepp-inicio-restaurado .siepp-app-header{
  overflow:hidden;
  border-top:0;
  border-bottom:1px solid rgba(255,255,255,.13);
  background:
    radial-gradient(circle at 8% -120%,rgba(110,188,199,.28),transparent 21rem),
    radial-gradient(circle at 94% 150%,rgba(184,105,151,.26),transparent 23rem),
    linear-gradient(135deg,#465b68 0%,#526671 46%,#625368 100%);
  box-shadow:0 8px 22px rgba(27,43,51,.22);
}
body.siepp-inicio-restaurado .siepp-app-header::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:3px;
  background:linear-gradient(90deg,#72bbc6,#b66f98,#d7ae62);
}
body.siepp-inicio-restaurado .siepp-app-brand{
  padding:4px 7px;
  border-radius:12px;
  background:rgba(255,255,255,.065);
}
body.siepp-inicio-restaurado .siepp-app-brand img{
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:9px;
  background:rgba(255,255,255,.94);
  box-shadow:0 5px 14px rgba(24,39,47,.14);
}
body.siepp-inicio-restaurado .siepp-app-brand__divider{
  background:rgba(255,255,255,.24);
}
body.siepp-inicio-restaurado .siepp-app-brand__copy strong{
  color:#fff;
  text-shadow:0 2px 5px rgba(22,34,41,.25);
}
body.siepp-inicio-restaurado .siepp-app-brand__copy small{
  color:#dcecef;
}
body.siepp-inicio-restaurado .siepp-user-panel{
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.075));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 6px 16px rgba(24,39,47,.12);
  backdrop-filter:blur(4px);
}
body.siepp-inicio-restaurado .siepp-user-label{
  color:#9fe4dc;
}
body.siepp-inicio-restaurado .siepp-user-copy strong{
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.15);
}
body.siepp-inicio-restaurado .siepp-user-meta{
  color:#e7f0f2;
}
body.siepp-inicio-restaurado .siepp-user-avatar{
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(145deg,#2b7588,#69bbc8);
  box-shadow:0 7px 16px rgba(21,49,59,.25);
}


body.siepp-inicio-restaurado .siepp-app-footer{
  position:relative;
  margin:0;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 15% 170%,rgba(112,190,200,.18),transparent 18rem),
    linear-gradient(135deg,#435864 0%,#4e626d 48%,#5f5165 100%);
  box-shadow:0 -5px 18px rgba(30,45,53,.11);
}
body.siepp-inicio-restaurado .siepp-app-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,#6bb4c1,#b16a92,#d3a95c);
}
body.siepp-inicio-restaurado .siepp-app-footer__brand strong,
body.siepp-inicio-restaurado .siepp-app-footer__brand span,
body.siepp-inicio-restaurado .siepp-app-footer p,
body.siepp-inicio-restaurado .siepp-app-footer__status{
  color:#f3f7f8;
}
body.siepp-inicio-restaurado .siepp-app-footer__brand span,
body.siepp-inicio-restaurado .siepp-app-footer p{
  opacity:.9;
}
body.siepp-inicio-restaurado .siepp-app-footer__status span{
  background:#70d6ac;
  box-shadow:0 0 0 3px rgba(112,214,172,.15),0 0 9px rgba(112,214,172,.28);
}
html,body{height:auto;min-height:0;}
body.siepp-inicio-restaurado .site-wrap,
body.siepp-inicio-restaurado .siepp-app-shell{height:auto;min-height:0;}
body.siepp-inicio-restaurado .siepp-home-main{height:auto;min-height:0;}
body.siepp-inicio-restaurado .siepp-modules-section{margin-bottom:0;}
body.siepp-inicio-restaurado .siepp-resources-section{margin-bottom:0;padding-bottom:8px;}
body.siepp-inicio-restaurado .siepp-feature-card::before,
body.siepp-inicio-restaurado .siepp-feature-card::after,
body.siepp-inicio-restaurado .siepp-feature-card>img::before,
body.siepp-inicio-restaurado .siepp-feature-card>img::after{content:none;display:none;}
body.siepp-inicio-restaurado .siepp-feature-card>img{border:0;outline:0;box-shadow:none;}
body.siepp-inicio-restaurado .siepp-resource-panel::before,
body.siepp-inicio-restaurado .siepp-resource-panel::after{content:none;display:none;}
body.siepp-inicio-restaurado .siepp-app-header::after,
body.siepp-inicio-restaurado .siepp-app-footer::before{
  content:none;
  display:none;
}
body.siepp-inicio-restaurado .siepp-page-main{
  min-height:0;
}

body.siepp-nominal .is-loading{opacity:.72;pointer-events:none;}
body.siepp-nominal .sn-status{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.25;text-transform:uppercase;}
body.siepp-nominal .sn-status--success{color:#286d53;background:#e6f4ed;}

body.siepp-nominal .sn-status--danger{color:#8b3f52;background:#f9e8ed;}
body.siepp-nominal .sn-status--wine{color:#704a66;background:#f2eaf1;}
body.siepp-nominal .sn-status--info{color:#2f6f82;background:#e5f3f7;}
body.siepp-nominal .sn-status--teal{color:#315f68;background:#e5f1f2;}
body.siepp-nominal .sn-status--neutral{color:#584f70;background:#efedf5;}
body.siepp-nominal .sn-download-action{display:flex;justify-content:center;margin:10px 0 14px;}
body.siepp-nominal .sn-download-action .siepp-btn{margin:0;}
body.siepp-nominal .sn-chart{width:100%;min-width:0;height:400px;margin:0 auto;}


body.siepp-nominal .sn-text-warning{color:#a97516;font-weight:800;}
body.siepp-nominal .sn-text-danger{color:#a23e58;font-weight:800;}
body.siepp-nominal .sn-text-uppercase{text-transform:uppercase;}
body.siepp-nominal .siepp-info-panel{
  padding:14px 5%;
  border:1px solid var(--sn-line);
  border-radius:12px;
  background:#f5f8f9;
  font-size:14px;
}
body.siepp-nominal .siepp-info-panel--soft{background:#f6fbfb;}
body.siepp-nominal .siepp-info-panel--accent{background:#effafa;}
body.siepp-nominal .sn-chart-wide{width:100%;min-width:100%;margin:0 auto;}


/* ===== PORTADA DE ACCESO SIEPP ===== */
body.siepp-login-v45{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  color:var(--siepp-ink);
  background:
    radial-gradient(circle at 5% 8%,rgba(102,191,206,.16),transparent 30rem),
    radial-gradient(circle at 95% 7%,rgba(167,84,135,.13),transparent 28rem),
    linear-gradient(180deg,#edf4f6 0%,#f6f8f9 60%,#eef3f5 100%);
  font-family:"Lato",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.siepp-login-v45 *,
body.siepp-login-v45 *::before,
body.siepp-login-v45 *::after{box-sizing:border-box}
.siepp-login-shell{
  width:min(1180px,100%);
  min-height:100vh;
  margin:0 auto;
  overflow:hidden;
  background:#f4f7f8;
  box-shadow:0 0 38px rgba(31,53,64,.15);
}
.siepp-page-container{width:100%;max-width:1180px;margin:0 auto;padding:0 22px}
.siepp-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Cabecera de acceso */
.siepp-login-topbar{
  position:relative;
  z-index:10;
  min-height:116px;
  padding:11px 0;
  color:#fff;
  background:
    radial-gradient(circle at 7% -100%,rgba(110,188,199,.30),transparent 21rem),
    radial-gradient(circle at 95% 170%,rgba(184,105,151,.25),transparent 23rem),
    linear-gradient(135deg,#435965 0%,#526772 48%,#615369 100%);
  box-shadow:0 8px 24px rgba(27,43,51,.20);
}
.siepp-login-topbar::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#72bbc6,#b66f98,#d7ae62)}
.siepp-login-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.siepp-login-brand{display:flex;align-items:center;gap:14px;min-width:0;color:#fff;text-decoration:none}
.siepp-login-brand__logo{display:grid;place-items:center;width:145px;height:56px;padding:5px 8px;flex:0 0 145px;border:1px solid rgba(255,255,255,.66);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 6px 16px rgba(20,35,43,.15)}
.siepp-login-brand__logo img{display:block;width:100%;max-height:44px;object-fit:contain}
.siepp-login-brand__copy{display:flex;flex-direction:column;min-width:0;line-height:1.1}
.siepp-login-brand__copy strong{font:700 30px/1 "Outfit","Lato",Arial,sans-serif;letter-spacing:.025em;color:#fff;text-shadow:0 2px 5px rgba(21,33,41,.22)}
.siepp-login-brand__copy small{max-width:430px;margin-top:5px;color:#eaf2f4;font-size:11px;font-weight:600;line-height:1.25;letter-spacing:.015em}
.siepp-login-topbar__status{display:flex;align-items:center;gap:10px;min-width:190px;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.siepp-login-status-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#76d9ae;box-shadow:0 0 0 4px rgba(118,217,174,.12)}
.siepp-login-topbar__status span:last-child{display:flex;flex-direction:column;line-height:1.15}
.siepp-login-topbar__status strong{color:#fff;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.siepp-login-topbar__status small{margin-top:3px;color:#dce8eb;font-size:9px;font-weight:600}

/* Área principal */
.siepp-login-main{padding:26px 0 24px;background:transparent}
.siepp-login-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);align-items:stretch;gap:22px}
.siepp-login-showcase{min-width:0;padding:22px;border:1px solid #d8e3e7;border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 18px 45px rgba(39,65,77,.10);backdrop-filter:blur(7px)}
.siepp-showcase-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 15px}
.siepp-showcase-kicker{display:block;margin-bottom:5px;color:var(--siepp-cyan-850);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.siepp-showcase-heading h1{max-width:690px;margin:0;color:#354b57;font:650 31px/1.06 "Outfit","Lato",Arial,sans-serif;letter-spacing:-.012em}
.siepp-showcase-heading p{max-width:680px;margin:8px 0 0;color:#657984;font-size:12px;font-weight:500;line-height:1.45}
.siepp-showcase-frame{position:relative;min-height:385px;overflow:hidden;border:1px solid #cfdde2;border-radius:18px;background:#d9e4e7;box-shadow:0 13px 32px rgba(36,61,72,.14)}
.siepp-login-slide{position:absolute;inset:0;visibility:hidden;opacity:0;z-index:0;transition:opacity .48s ease,visibility .48s ease}
.siepp-login-slide.is-active{visibility:visible;opacity:1;z-index:1}
html:not(.siepp-js) .siepp-login-slide:first-of-type{visibility:visible;opacity:1;z-index:1}
.siepp-login-slide>img{display:block;width:100%;height:100%;min-height:385px;object-fit:cover;object-position:center}
.siepp-login-slide__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,49,59,.73) 0%,rgba(42,61,70,.46) 45%,rgba(67,49,66,.17) 100%)}
.siepp-login-slide__content{position:absolute;left:24px;right:70px;bottom:28px;z-index:2;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:end;gap:14px;color:#fff}
.siepp-login-slide__number{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,255,255,.42);border-radius:16px;background:rgba(255,255,255,.14);font:700 20px/1 "Outfit","Lato",Arial,sans-serif;backdrop-filter:blur(5px);box-shadow:0 8px 22px rgba(15,28,34,.16)}
.siepp-login-slide__content h2{max-width:650px;margin:0 0 7px;color:#fff;font:700 25px/1.12 "Outfit","Lato",Arial,sans-serif;text-shadow:0 3px 12px rgba(15,29,35,.45)}
.siepp-login-slide__content p{max-width:650px;margin:0;color:#f4f8f9;font-size:12.5px;font-weight:600;line-height:1.42;text-shadow:0 2px 8px rgba(15,29,35,.48)}
.siepp-showcase-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;color:#6e8089;font-size:10px;font-weight:600}
.siepp-showcase-footer span:first-child{display:inline-flex;align-items:center;gap:6px;color:#47616e}
.siepp-showcase-footer strong{display:grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:999px;color:#fff;background:linear-gradient(135deg,var(--siepp-cyan-850),var(--siepp-cyan-450));font-size:10px}

/* Controles del carrusel */
.siepp-slider-button{position:absolute;top:50%;z-index:6;display:grid;place-items:center;width:40px;height:40px;padding:0;transform:translateY(-50%);border:1px solid rgba(255,255,255,.32);border-radius:12px;color:#fff;background:rgba(35,55,64,.56);cursor:pointer;backdrop-filter:blur(5px);box-shadow:0 7px 18px rgba(17,33,40,.20);transition:background .16s ease,transform .16s ease}
.siepp-slider-button:hover,.siepp-slider-button:focus-visible{background:rgba(105,53,80,.88)}
.siepp-slider-button--prev{left:12px}.siepp-slider-button--next{right:12px}
.siepp-slider-dots{position:absolute;left:0;right:0;bottom:10px;z-index:7;display:flex;justify-content:center;gap:6px;pointer-events:none}
.siepp-slider-dot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.58);cursor:pointer;pointer-events:auto;transition:width .2s ease,background .2s ease}
.siepp-slider-dot.is-active{width:21px;background:#fff}

/* Tarjeta de autenticación */
.siepp-login-card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid #d8e3e7;border-radius:22px;background:#fff;box-shadow:0 19px 46px rgba(39,65,77,.13)}
.siepp-login-card__header{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid #e2eaed}
.siepp-login-card__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#fff;background:linear-gradient(145deg,var(--siepp-wine-800),var(--siepp-wine-500));box-shadow:0 9px 21px rgba(105,53,80,.22)}
.siepp-login-card__icon svg{width:24px;height:24px}
.siepp-login-card__header span:not(.siepp-login-card__icon){display:block;margin-bottom:3px;color:var(--siepp-cyan-850);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.siepp-login-card__header h2{margin:0;color:#314752;font:650 25px/1.05 "Outfit","Lato",Arial,sans-serif}
.siepp-login-card__header p{margin:5px 0 0;color:#72848d;font-size:11px;font-weight:500}
.siepp-login-form{display:flex;flex-direction:column;gap:14px;width:100%;margin:0;padding:0;border:0;background:transparent}
.siepp-login-field{min-width:0}
.siepp-login-field label{display:block;margin:0 0 6px;color:#3e5866;font-size:10px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.siepp-login-input{position:relative;display:flex;align-items:center;width:100%;height:48px;border:1px solid #c9d8de;border-radius:12px;background:#fbfdfd;box-shadow:inset 0 1px 2px rgba(38,66,79,.035);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.siepp-login-input:focus-within{border-color:var(--siepp-cyan-650);background:#fff;box-shadow:0 0 0 4px rgba(49,139,162,.12),0 7px 16px rgba(42,91,108,.06)}
.siepp-login-input__icon{display:grid;place-items:center;width:42px;flex:0 0 42px;color:#62808e}
.siepp-login-input__icon svg{width:19px;height:19px}
.siepp-login-input input{display:block;width:100%;height:46px;min-width:0;margin:0;padding:10px 42px 10px 0;border:0;outline:0;color:#263b46;-webkit-text-fill-color:#263b46;background:transparent;font-family:"Lato",Arial,sans-serif;font-size:13px;font-weight:700;line-height:1}
.siepp-login-input input::placeholder{color:#84959d;-webkit-text-fill-color:#84959d;opacity:1;font-size:10.5px;font-weight:700;letter-spacing:.02em}
.siepp-password-toggle{position:absolute;right:6px;top:50%;display:grid;place-items:center;width:35px;height:35px;padding:0;transform:translateY(-50%);border:0;border-radius:9px;color:#5d7885;background:transparent;cursor:pointer;transition:color .16s ease,background .16s ease}
.siepp-password-toggle:hover,.siepp-password-toggle:focus-visible{color:var(--siepp-cyan-850);background:#eaf3f5}
.siepp-password-toggle svg{width:19px;height:19px}
.siepp-captcha-box{display:grid;grid-template-columns:1fr;gap:8px}
.siepp-captcha-preview{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:stretch;height:64px;overflow:hidden;border:1px solid #bed3db;border-radius:12px;background:#fff;box-shadow:0 5px 14px rgba(38,95,111,.07)}
.siepp-captcha-preview img{display:block;width:100%;height:62px;min-width:0;padding:2px 8px;object-fit:contain;object-position:center;background:#fff;filter:contrast(1.14) saturate(1.04)}
.siepp-captcha-refresh{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:100%;padding:0 7px;border:0;border-left:1px solid #d3e0e5;color:#236477;background:#eef7f8;font-family:"Lato",Arial,sans-serif;font-size:9px;font-weight:800;cursor:pointer;transition:color .16s ease,background .16s ease}
.siepp-captcha-refresh:hover,.siepp-captcha-refresh:focus-visible{color:#fff;background:linear-gradient(145deg,var(--siepp-cyan-850),var(--siepp-cyan-450))}
.siepp-captcha-refresh svg{width:18px;height:18px}
.siepp-login-input--captcha input{padding-right:10px;text-transform:uppercase}
.siepp-login-submit{width:100%;min-height:48px;margin-top:2px;border-radius:12px;font-size:11px;letter-spacing:.06em}
.siepp-login-security-note{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;margin-top:auto;padding-top:17px;border-top:1px solid #e3eaed;color:#617681}
.siepp-login-security-note>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#397b67;background:#e7f3ed}
.siepp-login-security-note svg{width:17px;height:17px}
.siepp-login-security-note p{margin:0;font-size:9.5px;font-weight:500;line-height:1.4}
.siepp-login-security-note strong{color:#3e5866;font-weight:800}

/* Aviso institucional */
.siepp-aviso{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:22px;opacity:1;transition:opacity .18s ease}
.siepp-aviso--oculto{opacity:0;pointer-events:none}
.siepp-aviso__fondo{position:absolute;inset:0;background:rgba(24,39,47,.66);backdrop-filter:blur(5px)}
.siepp-aviso__panel{position:relative;z-index:1;width:min(760px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(255,255,255,.62);border-radius:21px;background:#fff;box-shadow:0 32px 95px rgba(0,0,0,.32)}
.siepp-aviso__cabecera{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 17px;border-bottom:1px solid #dce6e9;background:linear-gradient(135deg,#f7fbfb,#f5f1f5)}
.siepp-aviso__cabecera>div{display:flex;flex-direction:column;line-height:1.15}
.siepp-aviso__cabecera span{margin-bottom:3px;color:var(--siepp-cyan-850);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.siepp-aviso__cabecera strong{color:var(--siepp-wine-800);font:650 20px/1.05 "Outfit","Lato",Arial,sans-serif}
.siepp-aviso__cerrar{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;padding:0;border:0;border-radius:50%;background:#e9f0f2;color:#536a75;font-size:24px;line-height:1;cursor:pointer}
.siepp-aviso__media{padding:12px 14px;background:#f7f9fa}
.siepp-aviso__media img{display:block;width:100%;max-height:425px;object-fit:contain;border:1px solid #e0e8eb;border-radius:13px;background:#fff}
.siepp-aviso__acciones{display:flex;justify-content:flex-end;padding:13px 17px;border-top:1px solid #dce6e9;background:#fff}
.siepp-aviso__acciones .siepp-btn{min-width:210px}

/* Pie de la portada */
.siepp-login-footer{padding:11px 0;border-top:1px solid #d8e2e6;background:#fff}
.siepp-footer-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}
.siepp-footer-brand{display:flex;align-items:center;gap:7px;white-space:nowrap}
.siepp-footer-brand strong{color:var(--siepp-wine-800);font:700 20px/1 "Outfit","Lato",Arial,sans-serif}
.siepp-footer-brand span{color:#687c86;font-size:9.5px;font-weight:600}
.siepp-footer-inner p{margin:0;text-align:center;color:#687c86;font-size:9.5px;font-weight:500}
.siepp-footer-security{display:flex;align-items:center;gap:6px;color:#2d7281;font-size:9.5px;font-weight:800;white-space:nowrap}
.siepp-footer-security span{color:#35a978;font-size:10px}

@media(max-width:980px){
  .siepp-login-hero{grid-template-columns:1fr}
  .siepp-login-card{max-width:620px;width:100%;margin:0 auto}
  .siepp-login-security-note{margin-top:4px}
}
@media(max-width:700px){
  .siepp-page-container{padding:0 14px}
  .siepp-login-topbar__inner{align-items:flex-start;flex-direction:column;gap:9px}
  .siepp-login-topbar__status{width:100%;min-width:0}
  .siepp-login-brand__logo{width:118px;height:50px;flex-basis:118px}
  .siepp-login-brand__copy strong{font-size:26px}
  .siepp-login-brand__copy small{font-size:10px}
  .siepp-login-main{padding:14px 0 16px}
  .siepp-login-showcase,.siepp-login-card{padding:15px;border-radius:17px}
  .siepp-showcase-heading h1{font-size:25px}
  .siepp-showcase-frame,.siepp-login-slide>img{min-height:305px}
  .siepp-login-slide__content{left:17px;right:55px;bottom:22px;grid-template-columns:46px minmax(0,1fr);gap:10px}
  .siepp-login-slide__number{width:46px;height:46px;border-radius:13px;font-size:16px}
  .siepp-login-slide__content h2{font-size:20px}
  .siepp-login-slide__content p{font-size:11px}
  .siepp-showcase-footer{align-items:flex-start;flex-direction:column;gap:5px}
  .siepp-footer-inner{grid-template-columns:1fr;text-align:center;gap:4px}
  .siepp-footer-brand,.siepp-footer-security{justify-content:center}
}
@media(max-width:430px){
  .siepp-login-brand__copy small{display:none}
  .siepp-login-topbar{min-height:auto}
  .siepp-login-showcase{padding:12px}
  .siepp-showcase-heading p{font-size:11px}
  .siepp-showcase-frame,.siepp-login-slide>img{min-height:280px}
  .siepp-login-slide__content{grid-template-columns:1fr;right:16px}
  .siepp-login-slide__number{display:none}
  .siepp-login-card__header{grid-template-columns:42px minmax(0,1fr)}
  .siepp-login-card__icon{width:42px;height:42px;border-radius:13px}
  .siepp-captcha-preview{grid-template-columns:minmax(0,1fr) 76px}
  .siepp-aviso{padding:10px}
  .siepp-aviso__panel{border-radius:16px}
}
/* ===== FIN PORTADA DE ACCESO SIEPP ===== */

.siepp-session-page{min-height:100vh;background:#eef3f5;}
.siepp-session-page .siepp-login-shell{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;}
.siepp-session-main{display:grid;place-items:center;padding:40px 16px;}
.siepp-session-card{width:min(600px,100%);padding:30px;border:1px solid #d7e2e6;border-radius:21px;background:#fff;box-shadow:0 18px 48px rgba(35,58,74,.13);text-align:center;}
.siepp-session-card__icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--siepp-wine-800),var(--siepp-wine-500));box-shadow:0 9px 20px rgba(105,53,80,.20);}
.siepp-session-card__icon svg{width:26px;height:26px;}
.siepp-session-card h1{margin:0 0 10px;color:#344b57;font:650 26px/1.08 "Outfit","Lato",Arial,sans-serif;}
.siepp-session-card p{margin:0 auto 22px;max-width:500px;color:#637983;font-size:13px;line-height:1.55;}
.siepp-session-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.siepp-session-actions .siepp-btn{min-width:175px;text-decoration:none;}
.siepp-captcha-preview img#captcha{
  min-width:132px;
  min-height:52px;
  color:#234878;
  font-size:11px;
  font-weight:700;
  text-align:center;
}
.sn-profile{
  padding:24px 0 30px;
  background:
    radial-gradient(circle at 0 0,rgba(67,151,169,.08),transparent 30%),
    radial-gradient(circle at 100% 0,rgba(116,59,93,.07),transparent 28%),
    #f3f7f8;
}
.sn-profile__container{max-width:1120px;margin:0 auto}
.sn-profile-hero{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  padding:18px 20px;
  margin-bottom:18px;
  border:1px solid #d8e3e6;
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(35,58,74,.09);
}
.sn-profile-hero__icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(145deg,#2e8397,#743b5d);
  box-shadow:0 9px 20px rgba(62,103,120,.22);
}
.sn-profile-hero__icon svg{width:25px;height:25px}
.sn-profile-hero__copy span,
.sn-profile-card__header span{
  display:block;
  margin-bottom:3px;
  color:#2c7c8f;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.sn-profile-hero h1{
  margin:0;
  color:#243946;
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:29px;
  line-height:1.05;
}
.sn-profile-hero p{margin:5px 0 0;color:#647986;font-size:13px}
.sn-profile-layout{
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.sn-profile-summary,
.sn-profile-card{
  border:1px solid #d8e3e6;
  border-radius:17px;
  background:#fff;
  box-shadow:0 11px 28px rgba(35,58,74,.09);
}
.sn-profile-summary{
  position:sticky;
  top:18px;
  overflow:hidden;
  padding:23px;
  text-align:center;
}
.sn-profile-summary::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#2f8da2,#743b5d);
}
.sn-profile-avatar{
  display:grid;
  place-items:center;
  width:92px;
  height:92px;
  margin:0 auto 12px;
  border:7px solid #eef5f6;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#2e8498,#765067);
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:30px;
  font-weight:700;
  box-shadow:0 11px 22px rgba(48,91,108,.18);
}
.sn-profile-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border:1px solid #cce4dc;
  border-radius:999px;
  color:#2f7563;
  background:#f1faf6;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.sn-profile-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#42b98f;
  box-shadow:0 0 0 4px rgba(66,185,143,.12);
}
.sn-profile-summary h2{margin:16px 0 5px;color:#263c49;font-size:18px;line-height:1.25}
.sn-profile-id{margin:0;color:#6a7e89;font-size:12px}
.sn-profile-security{
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:13px;
  margin-top:20px;
  border-radius:12px;
  color:#526d78;
  background:#f3f8f9;
  text-align:left;
  font-size:11px;
  line-height:1.45;
}
.sn-profile-security svg{width:18px;height:18px;flex:0 0 auto;color:#2f8699}
.sn-profile-content{display:grid;gap:18px}
.sn-profile-card{padding:21px}
.sn-profile-card--contact{border-top:4px solid #7a4666}
.sn-profile-card__header{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding-bottom:15px;
  margin-bottom:16px;
  border-bottom:1px solid #e3ebed;
}
.sn-profile-card__header h2{margin:0;color:#263c49;font-size:20px;line-height:1.1}
.sn-profile-card__header p{max-width:310px;margin:0;color:#6a7d88;font-size:11px;line-height:1.45;text-align:right}
.sn-profile-badge{padding:6px 10px;margin:0;border-radius:999px;color:#637983;background:#edf3f5;font-size:9px;letter-spacing:.05em}
.sn-profile-data-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin:0;
}
.sn-profile-data-item{
  padding:13px 14px;
  border:1px solid #e0e8ea;
  border-radius:12px;
  background:#f8fbfb;
}
.sn-profile-data-item--wide{grid-column:1/-1}
.sn-profile-data-item dt{margin-bottom:4px;color:#6f818a;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sn-profile-data-item dd{margin:0;color:#273d49;font-size:12px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.sn-profile-form{display:grid;gap:16px}
.sn-profile-field>label{display:block;margin-bottom:7px;color:#354c58;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.sn-profile-input-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:stretch;
  border:1px solid #ccd9dd;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.sn-profile-input-row:focus-within{
  border-color:#3790a3;
  box-shadow:0 0 0 4px rgba(55,144,163,.12);
}
.sn-profile-input-icon{
  display:grid;
  place-items:center;
  color:#2e8194;
  background:#edf6f7;
  border-right:1px solid #d9e4e7;
}
.sn-profile-input-icon svg{width:18px;height:18px}
.sn-profile-input-row input{
  width:100%;
  min-width:0;
  height:43px;
  padding:0 12px;
  border:0;
  outline:0;
  background:#fff;
  color:#263d49;
  font-size:13px;
  box-shadow:none;
}
.sn-profile-input-row input[readonly]{color:#637984;background:#f7fafb;cursor:default}
.sn-profile-input-row .siepp-btn{margin:4px;min-height:35px;align-self:center}
.sn-profile-field small{display:block;margin-top:6px;color:#7a8c94;font-size:10px}
.sn-profile-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}
@media (max-width:900px){.sn-profile-layout{grid-template-columns:1fr}.sn-profile-summary{position:static}}
@media (max-width:680px){.sn-profile{padding:14px 0 20px}.sn-profile-hero{grid-template-columns:45px 1fr;padding:15px}.sn-profile-hero__icon{width:45px;height:45px}.sn-profile-hero>.siepp-btn{grid-column:1/-1;width:100%}.sn-profile-data-grid{grid-template-columns:1fr}.sn-profile-data-item--wide{grid-column:auto}.sn-profile-card__header{flex-direction:column}.sn-profile-card__header p{text-align:left}.sn-profile-input-row{grid-template-columns:38px minmax(0,1fr)}.sn-profile-input-row .siepp-btn{grid-column:1/-1;margin:7px}.sn-profile-actions{flex-direction:column-reverse}.sn-profile-actions .siepp-btn{width:100%}}
.siepp-status-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-left:4px;
  border-radius:50%;
  color:#fff;
  font-family:"Lato",Arial,sans-serif;
  font-size:11px;
  font-weight:900;
  line-height:1;
}
.siepp-status-icon--yes{background:#3a9177;}
.siepp-status-icon--no{background:#9b4962;}
.siepp-form-module-icon{display:inline-block;width:72px;max-width:18%;height:auto;vertical-align:middle}
.imagen .siepp-menu-image{display:block;width:min(190px,72%);margin:0 auto;height:auto}
/* SIEPP · fondos e imágenes centralizados */


.siepp-completion-image{display:block;width:min(170px,40%);height:auto;margin:0 auto 16px}

/* ===== SIEPP · COMPONENTES GLOBALES PARA MÓDULOS ===== */
.siepp-page-heading{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0 0 18px;
  padding:18px 20px;
  border:1px solid #d7e2e6;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(35,58,74,.08);
}
.siepp-page-heading__eyebrow{
  color:#2d8093;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.siepp-page-heading h1{
  margin:0;
  color:#263c49;
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:clamp(24px,3vw,34px);
  font-weight:700;
  line-height:1.08;
}
.siepp-page-heading p{margin:2px 0 0;color:#687c87;font-size:13px;line-height:1.5}

.siepp-content-card{
  width:100%;
  padding:20px;
  border:1px solid #d8e3e6;
  border-radius:16px;
  background:#fff;
  box-shadow:0 11px 28px rgba(35,58,74,.08);
}
.siepp-content-card--narrow{max-width:760px;margin-right:auto;margin-left:auto}
.siepp-content-card__header{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #e2eaec}
.siepp-content-card__header h2{margin:0;color:#293e4a;font-size:20px;line-height:1.2}
.siepp-content-card__header p{margin:5px 0 0;color:#6d808a;font-size:12px}

.siepp-search-form{display:grid;gap:14px}
.siepp-search-form label{margin:0;color:#354d58;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.siepp-search-form__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.siepp-search-form input,.siepp-search-form select{
  width:100%;
  min-height:43px;
  padding:9px 12px;
  border:1px solid #cbd9dd;
  border-radius:10px;
  background:#fff;
  color:#273d49;
  box-shadow:none;
}
.siepp-search-form input:focus,.siepp-search-form select:focus{border-color:#318ba2;box-shadow:0 0 0 4px rgba(49,139,162,.12);outline:0}

.siepp-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.siepp-menu-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:100%;
  border:1px solid #d8e3e6;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 26px rgba(35,58,74,.08);
}
.siepp-menu-card>img{display:block;width:100%;height:150px;object-fit:cover;border:0}
.siepp-menu-card__link{
  display:flex;
  flex:1;
  align-items:center;
  justify-content:center;
  min-height:66px;
  padding:14px 16px;
  color:#2b4551;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  transition:background .16s ease,color .16s ease;
}
.siepp-menu-card__link:hover,.siepp-menu-card__link:focus-visible{color:#743b5d;background:#f7f1f5}

.siepp-accordion-list{display:grid;gap:10px}
.siepp-accordion-group{overflow:hidden;border:1px solid #dce6e9;border-radius:12px;background:#fff}
.siepp-accordion-group [data-siepp-accordion]{width:100%}

@media(max-width:680px){
  .siepp-page-heading,.siepp-content-card{padding:15px}
  .siepp-search-form__row{grid-template-columns:1fr}
  .siepp-search-form__row .siepp-btn{width:100%}
  .siepp-menu-grid{grid-template-columns:1fr}
  }

/* DataTables: compatibilidad funcional sin imágenes heredadas. */
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc,
table.dataTable thead th.sorting_asc_disabled,
table.dataTable thead th.sorting_desc_disabled{
  position:relative;
  padding-right:26px;
  background-image:none;
}
table.dataTable thead th.sorting::after{
  content:"↕";
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  color:#74858e;
  font-size:12px;
  opacity:.75;
}
table.dataTable thead th.sorting_asc::after{
  content:"↑";
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  color:#2f8296;
  font-size:13px;
  font-weight:800;
}
table.dataTable thead th.sorting_desc::after{
  content:"↓";
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  color:#2f8296;
  font-size:13px;
  font-weight:800;
}
table.dataTable thead th.sorting_asc_disabled::after,
table.dataTable thead th.sorting_desc_disabled::after{
  content:"";
}


.siepp-page-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  width:100%;
  margin:12px 0;
}
body.siepp-module-page{min-height:100vh;overflow-x:hidden}
body.siepp-module-page .siepp-app-shell,
body.siepp-profile-page .siepp-app-shell{
  display:flex;flex-direction:column;width:min(1180px,100%);min-height:100vh;margin:0 auto;overflow:hidden;background:#fff
}
body.siepp-module-page .siepp-app-header,
body.siepp-profile-page .siepp-app-header,
body.siepp-module-page .siepp-app-footer,
body.siepp-profile-page .siepp-app-footer{flex:0 0 auto;width:100%}
body.siepp-module-page .siepp-app-header__inner,
body.siepp-module-page .siepp-app-footer__inner,
body.siepp-profile-page .siepp-app-header__inner,
body.siepp-profile-page .siepp-app-footer__inner{
  width:100%;max-width:1140px;margin:0 auto;padding-right:15px;padding-left:15px
}
body.siepp-module-page .siepp-app-main,
body.siepp-profile-page .siepp-app-main{
  display:block;flex:1 0 auto;width:100%;min-width:0;background:linear-gradient(180deg,#f7fafb 0%,#f2f6f7 100%)
}
.siepp-app-main,.siepp-app-main__frame{display:block;box-sizing:border-box;min-width:0}
body.siepp-module-page .siepp-app-main__frame,
body.siepp-profile-page .siepp-app-main__frame{
  width:100%;max-width:1140px;min-width:0;margin:0 auto;padding:18px 15px 22px;overflow-x:auto;overflow-y:visible
}
body.siepp-module-page .siepp-app-main__frame>.siepp-page-section,
body.siepp-profile-page .siepp-app-main__frame>.siepp-page-section{width:100%;max-width:100%;margin:0 0 18px;padding:0;background:transparent}
body.siepp-module-page .siepp-app-main__frame>.siepp-container,
body.siepp-module-page .siepp-app-main__frame>.siepp-page-section>.siepp-container,
body.siepp-profile-page .siepp-app-main__frame>.siepp-container,
body.siepp-profile-page .siepp-app-main__frame>.siepp-page-section>.siepp-container{width:100%;max-width:100%;margin:0 auto;padding-right:0;padding-left:0}
body.siepp-module-page .siepp-app-main__frame img,
body.siepp-module-page .siepp-app-main__frame video,
body.siepp-module-page .siepp-app-main__frame canvas,
body.siepp-module-page .siepp-app-main__frame iframe,
body.siepp-module-page .siepp-app-main__frame pre{max-width:100%}
body.siepp-module-page .siepp-app-main__frame .siepp-grid-row,
body.siepp-module-page .siepp-app-main__frame form,
body.siepp-module-page .siepp-app-main__frame fieldset,
body.siepp-module-page .siepp-app-main__frame .siepp-card__body{min-width:0}
body.siepp-global .siepp-collapse:not(.is-open){display:none}
body.siepp-global .siepp-collapse.is-open{display:block}
body.siepp-global .siepp-nav-hidden{display:none}
@media(max-width:575.98px){
  .siepp-page-actions{align-items:stretch;flex-direction:column}
  .siepp-page-actions .siepp-btn{width:100%}
  body.siepp-module-page .siepp-app-main__frame,body.siepp-profile-page .siepp-app-main__frame{padding:14px 12px 18px}
  body.siepp-module-page .siepp-app-header__inner,body.siepp-module-page .siepp-app-footer__inner,
  body.siepp-profile-page .siepp-app-header__inner,body.siepp-profile-page .siepp-app-footer__inner{padding-right:12px;padding-left:12px}
}

/* ===== SIEPP · COMPONENTES VISUALES GLOBALES =====
   Fuente única para botones, navegación, acordeones y accesos gráficos. */
.siepp-btn,
.siepp-app-main__frame input[type="submit"],
.siepp-app-main__frame input[type="button"],
.siepp-app-main__frame input[type="reset"],
.siepp-app-main__frame button:not(.siepp-captcha-refresh){
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:9px 16px;
  border:1px solid transparent;
  border-radius:var(--siepp-btn-radius);
  background:linear-gradient(135deg,var(--siepp-btn-info-a),var(--siepp-btn-info-b));
  color:var(--siepp-btn-text);
  box-shadow:0 7px 17px rgba(35,58,74,.16);
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:12px;
  font-weight:700;
  line-height:1.15;
  text-align:center;
  text-decoration:none;
  text-shadow:none;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.siepp-btn:hover,
.siepp-btn:focus,
.siepp-app-main__frame input[type="submit"]:hover,
.siepp-app-main__frame input[type="button"]:hover,
.siepp-app-main__frame input[type="reset"]:hover,
.siepp-app-main__frame button:not(.siepp-captcha-refresh):hover{
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
  filter:brightness(.96);
  box-shadow:0 10px 22px rgba(35,58,74,.22);
}
.siepp-btn:disabled,.siepp-btn[aria-disabled="true"],
.siepp-app-main__frame button:disabled,.siepp-app-main__frame input:disabled{
  opacity:.5;
  pointer-events:none;
  box-shadow:none;
  transform:none;
}
.siepp-btn svg{width:17px;height:17px;flex:0 0 auto}
.siepp-btn--primary{background:linear-gradient(135deg,var(--siepp-btn-primary-a),var(--siepp-btn-primary-b))}
.siepp-btn--secondary,.siepp-btn--neutral{background:linear-gradient(135deg,var(--siepp-btn-secondary-a),var(--siepp-btn-secondary-b))}
.siepp-btn--info{background:linear-gradient(135deg,var(--siepp-btn-info-a),var(--siepp-btn-info-b))}
.siepp-btn--success{background:linear-gradient(135deg,var(--siepp-btn-success-a),var(--siepp-btn-success-b))}
.siepp-btn--warning{background:linear-gradient(135deg,var(--siepp-btn-warning-a),var(--siepp-btn-warning-b))}
.siepp-btn--danger{background:linear-gradient(135deg,var(--siepp-btn-danger-a),var(--siepp-btn-danger-b))}


.siepp-btn--block{width:100%}


/* Una única barra de navegación para todas las pantallas. */
body.siepp-module-page .siepp-global-nav,
body.siepp-profile-page .siepp-global-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  margin:0 0 16px;
  padding:0 0 12px;
  border-bottom:1px solid #dbe5e8;
}
.siepp-global-nav .siepp-btn{min-width:142px}

.siepp-global-nav .siepp-btn--home{background:linear-gradient(135deg,var(--siepp-btn-primary-a),var(--siepp-btn-primary-b))}


/* Indicadores y acciones sin dependencias de fuentes de iconos externas. */
.siepp-accordion-chevron{
  display:inline-block;
  flex:0 0 auto;
  width:9px;
  height:9px;
  margin-left:auto;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform .18s ease;
}
.siepp-accordion-trigger[aria-expanded="true"] .siepp-accordion-chevron{transform:rotate(225deg)}
.siepp-field-edit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  margin-left:8px;
  padding:6px 11px;
  border:0;
  border-radius:9px;
  background:linear-gradient(135deg,var(--siepp-btn-secondary-a),var(--siepp-btn-secondary-b));
  color:#fff;
  font:700 11px/1 "Outfit","Lato",Arial,sans-serif;
  cursor:pointer;
}
.siepp-field-edit:hover,.siepp-field-edit:focus{filter:brightness(.96)}

/* Acordeón: un solo nodo interactivo, sin <button> anidado dentro de <a>. */
.siepp-accordion-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-height:44px;
  padding:10px 14px;
  border:0;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,var(--siepp-btn-info-a),var(--siepp-btn-info-b));
  box-shadow:0 7px 17px rgba(35,58,74,.16);
  font:700 12px/1.3 "Outfit","Lato",Arial,sans-serif;
  text-decoration:none;
}
.siepp-accordion-trigger:hover,.siepp-accordion-trigger:focus{color:#fff;text-decoration:none;filter:brightness(.96)}
.siepp-accordion-trigger__label{min-width:0;text-align:left;overflow-wrap:break-word;word-break:normal}


/* Accesos gráficos heredados: la imagen pasa a ser contenido; el marco es global. */
.siepp-visual-option{
  display:inline-flex;
  width:min(190px,100%);
  margin:7px;
  vertical-align:top;
}
.siepp-visual-option > a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:164px;
  padding:12px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--siepp-btn-info-a),var(--siepp-btn-info-b));
  color:#fff;
  box-shadow:0 8px 20px rgba(35,58,74,.14);
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.siepp-visual-option:nth-of-type(4n/**/+2) > a{background:linear-gradient(135deg,var(--siepp-btn-primary-a),var(--siepp-btn-primary-b))}
.siepp-visual-option:nth-of-type(4n/**/+3) > a{background:linear-gradient(135deg,var(--siepp-btn-success-a),var(--siepp-btn-success-b))}
.siepp-visual-option:nth-of-type(4n/**/+4) > a{background:linear-gradient(135deg,var(--siepp-btn-secondary-a),var(--siepp-btn-secondary-b))}
.siepp-visual-option > a:hover{transform:translateY(-2px);filter:brightness(.97);box-shadow:0 12px 25px rgba(35,58,74,.20)}
.siepp-visual-option__image{
  display:block;
  max-width:150px;
  max-height:150px;
  width:auto;
  height:auto;
  object-fit:contain;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.94);
  box-shadow:none;
}

/* Calidad de Servicio y otros menús con imágenes reciben tarjetas semánticas reales. */
.siepp-option-card{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:min(190px,100%);
  min-height:190px;
  margin:7px;
  padding:12px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--siepp-btn-info-a),var(--siepp-btn-info-b));
  color:#fff;
  box-shadow:0 8px 20px rgba(35,58,74,.14);
  text-decoration:none;
  vertical-align:top;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.siepp-option-card:nth-of-type(4n/**/+2){background:linear-gradient(135deg,var(--siepp-btn-primary-a),var(--siepp-btn-primary-b))}
.siepp-option-card:nth-of-type(4n/**/+3){background:linear-gradient(135deg,var(--siepp-btn-success-a),var(--siepp-btn-success-b))}
.siepp-option-card:nth-of-type(4n/**/+4){background:linear-gradient(135deg,var(--siepp-btn-secondary-a),var(--siepp-btn-secondary-b))}
.siepp-option-card:hover,.siepp-option-card:focus{color:#fff;text-decoration:none;transform:translateY(-2px);filter:brightness(.97);box-shadow:0 12px 25px rgba(35,58,74,.20)}
.siepp-option-card__media{display:flex;align-items:center;justify-content:center;width:100%;min-height:125px;padding:5px;border-radius:10px;background:rgba(255,255,255,.94)}
.siepp-option-card__image{display:block;width:118px;max-width:100%;height:118px;object-fit:contain;border:0;background:transparent}
.siepp-option-card__label{display:block;width:100%;padding:0 4px;color:#fff;background:transparent;font:700 12px/1.3 "Outfit","Lato",Arial,sans-serif;text-align:center;text-transform:uppercase}

.siepp-option-card--text{min-height:120px;justify-content:center;padding:18px}
.siepp-option-card--text .siepp-option-card__label{font-size:14px;line-height:1.4}


/* Listados de usuarios y registros: un solo estilo institucional. */
.siepp-user-list,.siepp-record-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
  margin:8px 0 0;
  padding:0;
}
.siepp-user-item,.siepp-record-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  padding:12px 14px;
  border:1px solid #d7e3e8;
  border-radius:14px;
  background:#fff;
  color:#355163;
  box-shadow:0 6px 18px rgba(44,68,84,.08);
  text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.siepp-user-item:hover,.siepp-user-item:focus,.siepp-record-item:hover,.siepp-record-item:focus{
  color:#294657;
  text-decoration:none;
  transform:translateY(-1px);
  border-color:#bfd0d8;
  box-shadow:0 10px 22px rgba(44,68,84,.12);
}
.siepp-user-item__index,.siepp-record-item__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--siepp-btn-info-a),var(--siepp-btn-info-b));
  color:#fff;
  font:700 12px/1 "Outfit","Lato",Arial,sans-serif;
}
.siepp-user-item__content,.siepp-record-item__content{display:flex;flex-direction:column;gap:4px;min-width:0}
.siepp-user-item__name,.siepp-record-item__title{
  display:block;
  color:#355163;
  font:700 16px/1.3 "Outfit","Lato",Arial,sans-serif;
  overflow-wrap:break-word;
  word-break:normal;
}
.siepp-user-item__meta,.siepp-record-item__meta{
  display:block;
  color:#577080;
  font:600 12px/1.45 "Lato",Arial,sans-serif;
  overflow-wrap:break-word;
  word-break:normal;
}
.siepp-user-item__badge,.siepp-record-item__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--siepp-btn-secondary-a),var(--siepp-btn-secondary-b));
  color:#fff;
  font:700 11px/1 "Outfit","Lato",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.siepp-empty-state{
  display:block;
  width:100%;
  margin:8px 0;
  padding:14px 16px;
  border:1px solid #ead7a6;
  border-radius:12px;
  background:#f5e9c4;
  color:#664d03;
  text-align:center;
  box-shadow:0 6px 18px rgba(125,96,23,.08);
}
.siepp-empty-state small{display:block;color:inherit;font:600 12px/1.45 "Lato",Arial,sans-serif}
@media(max-width:575.98px){
  .siepp-user-item,.siepp-record-item{grid-template-columns:38px minmax(0,1fr);}
  .siepp-user-item__badge,.siepp-record-item__badge{grid-column:1/-1;width:100%;}
}

/* Cabecera: mismas familias cromáticas, sin reglas particulares por módulo. */
body.siepp-inicio-restaurado .siepp-action-btn--profile{color:#fff;background:linear-gradient(135deg,var(--siepp-btn-info-a),var(--siepp-btn-info-b))}
body.siepp-inicio-restaurado .siepp-action-btn--logout{color:#fff;background:linear-gradient(135deg,var(--siepp-btn-danger-a),var(--siepp-btn-danger-b))}

@media(max-width:575.98px){
  body.siepp-module-page .siepp-global-nav,body.siepp-profile-page .siepp-global-nav{align-items:stretch;flex-direction:column}
  .siepp-global-nav .siepp-btn{width:100%;min-width:0}
  .siepp-visual-option,.siepp-option-card{display:flex;width:100%;margin:7px 0}
}
/* Compatibilidad estructural con encabezados h5 de acordeones normalizados. */
.siepp-accordion-trigger > h5{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin:0;
  color:inherit;
  font:inherit;
}
.siepp-accordion-trigger > h5 .siepp-accordion-trigger__label{flex:1}



/* Estructura repetida de todos los módulos. */
.siepp-app-main__frame .siepp-page-section{width:100%;margin:0 0 18px;padding:0;background:transparent}
.siepp-app-main__frame .siepp-page-section>.siepp-container{width:100%;max-width:100%;padding-left:0;padding-right:0}
.siepp-app-main__frame>h1,.siepp-app-main__frame .siepp-page-section h1{margin:0 0 6px;color:#5f4d5b;font:800 clamp(22px,3vw,30px)/1.15 "Outfit","Lato",Arial,sans-serif;text-align:center;letter-spacing:.01em}
.siepp-app-main__frame>h5,.siepp-app-main__frame .siepp-page-section>h5{color:var(--siepp-ui-text)}

.siepp-app-main__frame .siepp-content-stack{display:flex;flex-direction:column;gap:var(--siepp-ui-gap);width:100%;min-width:0;max-width:100%;margin:0 0 16px;padding:0}
.siepp-app-main__frame .siepp-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--siepp-ui-gap);width:100%;margin:0 0 16px;padding:0;background:transparent}
.siepp-app-main__frame .siepp-panel,
.siepp-app-main__frame .siepp-card{
  min-width:0;width:100%;margin:0;padding:16px;border:1px solid var(--siepp-ui-border);border-radius:var(--siepp-ui-radius);background:var(--siepp-ui-surface);box-shadow:var(--siepp-ui-shadow)
}
.siepp-app-main__frame .siepp-card__body{padding:0;background:transparent;color:var(--siepp-ui-text)}
.siepp-app-main__frame .siepp-section-heading{margin:0 0 12px;padding:0;color:var(--siepp-ui-text);font:700 14px/1.35 "Outfit","Lato",Arial,sans-serif;text-align:center}
.siepp-app-main__frame .siepp-panel h1,.siepp-app-main__frame .siepp-panel h2,.siepp-app-main__frame .siepp-panel h3,
.siepp-app-main__frame .siepp-panel h4,.siepp-app-main__frame .siepp-panel h5,.siepp-app-main__frame .siepp-panel h6{color:var(--siepp-ui-text);font-family:"Outfit","Lato",Arial,sans-serif}
.siepp-section-icon{width:48px;height:48px;object-fit:contain;border-radius:12px;vertical-align:middle;margin-right:8px}
.siepp-image-action{transition:opacity .16s ease,transform .16s ease}.siepp-image-action:hover{opacity:.82;transform:translateY(-1px)}

/* Contenedores de formulario. La geometría de campos vive únicamente en el bloque global. */
.siepp-app-main__frame .siepp-form-card{width:100%;margin:0 0 16px;padding:18px;border:1px solid var(--siepp-ui-border);border-radius:var(--siepp-ui-radius);background:var(--siepp-ui-surface);box-shadow:var(--siepp-ui-shadow)}
.siepp-app-main__frame .siepp-form-section{width:100%;margin:0 0 14px;padding:14px;border:1px solid #e3eaed;border-radius:12px;background:var(--siepp-ui-surface-soft)}
.siepp-app-main__frame .siepp-form-note{width:100%;margin:8px 0 0;color:var(--siepp-ui-muted);font:500 11px/1.45 "Lato",Arial,sans-serif;text-align:right}

/* Tablas: el mismo marco para table, SIEPP y DataTables. */
.siepp-app-main__frame table,
.siepp-app-main__frame table.dataTable{
  width:100%;max-width:100%;margin:10px 0 16px;border:1px solid var(--siepp-ui-border);border-collapse:separate;border-spacing:0;border-radius:12px;background:#fff;color:var(--siepp-ui-text);box-shadow:0 5px 16px rgba(44,68,84,.06);overflow:hidden
}
.siepp-app-main__frame table th,.siepp-app-main__frame table.dataTable thead th{
  padding:10px 12px;border:0;border-bottom:1px solid #cedce2;background:#e6eef1;color:#365261;font:700 11px/1.3 "Outfit","Lato",Arial,sans-serif;text-align:left;vertical-align:middle
}
.siepp-app-main__frame table td,.siepp-app-main__frame table.dataTable tbody td{
  padding:9px 12px;border:0;border-bottom:1px solid #edf1f3;background:#fff;color:#486171;font:500 11px/1.4 "Lato",Arial,sans-serif;vertical-align:middle
}
.siepp-app-main__frame table tbody tr:last-child td,.siepp-app-main__frame table.dataTable tbody tr:last-child td{border-bottom:0}
.siepp-app-main__frame table tbody tr:nth-child(even) td,.siepp-app-main__frame table.dataTable tbody tr:nth-child(even) td{background:#f8fafb}
.siepp-app-main__frame table tbody tr:hover td,.siepp-app-main__frame table.dataTable tbody tr:hover td{background:#eef5f7}
.siepp-app-main__frame .siepp-table-responsive,.siepp-app-main__frame .dataTables_wrapper{width:100%;max-width:100%;overflow-x:auto}

/* Alertas y estados. */
.siepp-app-main__frame .siepp-alert{margin:10px 0;padding:12px 14px;border:1px solid #d9e3e7;border-radius:12px;background:#eef4f6;color:#425d6c;font:600 12px/1.45 "Lato",Arial,sans-serif;box-shadow:none}
.siepp-app-main__frame .siepp-alert--success{border-color:#bfd7ca;background:#e2efe8;color:#355e4a}
.siepp-app-main__frame .siepp-alert--info{border-color:#bfd5df;background:#e1edf2;color:#355d70}

.siepp-app-main__frame .siepp-alert--danger{border-color:#dfc1ca;background:#f1e1e6;color:#704452}

/* Acordeón: mismo trigger y mismo panel interior en todos los módulos. */
.siepp-app-main__frame .siepp-accordion-trigger{margin:0 0 2px;border-radius:12px}
.siepp-app-main__frame .siepp-collapse>.siepp-card__body,
.siepp-app-main__frame .siepp-collapse>.siepp-card__body,
.siepp-app-main__frame .siepp-collapse .siepp-card__body{margin:0 0 12px;padding:14px;border:1px solid var(--siepp-ui-border);border-top:0;border-radius:0 0 12px 12px;background:#fff;box-shadow:0 7px 18px rgba(44,68,84,.06)}

/* Listados heredados convertidos al mismo componente. */
.siepp-user-item--standard{grid-template-columns:minmax(0,1fr) auto;margin:8px 0}
.siepp-user-item__text{display:block;min-width:0;color:#486171;font:500 12px/1.5 "Lato",Arial,sans-serif;overflow-wrap:break-word;word-break:normal}
.siepp-user-item__text strong{color:#355163;font-weight:800}
.siepp-user-item--static{grid-template-columns:minmax(0,1fr);margin:8px 0;cursor:default}

@media(max-width:575.98px){
  .siepp-user-item--standard{grid-template-columns:1fr;gap:9px}
  .siepp-user-item--standard .siepp-user-item__badge{grid-column:1;width:100%}
}

/* Contenido heredado convergido a componentes semánticos únicos. */
.siepp-content-box{width:100%;margin:0 0 12px;padding:14px;border:1px solid var(--siepp-ui-border);border-radius:12px;background:var(--siepp-ui-surface);color:var(--siepp-ui-text);box-shadow:0 5px 16px rgba(44,68,84,.05)}
.siepp-content-width{width:100%;max-width:100%;margin:0 auto;padding:0}
.siepp-heading-logo{display:inline-block;width:56px;max-width:56px;height:56px;object-fit:contain;margin:0 8px 0 0;vertical-align:middle;border:0;background:transparent}
.siepp-app-main__frame .siepp-table-heading-row>th,.siepp-app-main__frame .siepp-table-heading-row>td{background:#e6eef1;color:#365261;font-weight:800}

.siepp-text-accent{color:#5f4d5b;font-weight:700}
.siepp-text-danger{color:#7d4d5b;font-weight:800}
.siepp-text-success{color:#456b59;font-weight:800}

/* Indicadores parpadeantes históricos: un único comportamiento moderado. */
@keyframes sieppSoftPulse{0%,100%{opacity:1}50%{opacity:.55}}
.siepp-pulse{display:inline-block;color:#8a4f60;font-weight:800;animation:sieppSoftPulse 1.35s ease-in-out infinite}
.siepp-pulse--slow{animation-duration:2s}

/* Contenedores de gráficos que antes dependían de reglas locales Sistex. */
body.siepp-module-sistex #container{width:100%;max-width:800px;height:400px;margin:1em auto}
body.siepp-module-sistex .overlay{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .18s ease;background:rgba(78,120,142,.82)}

@media(max-width:767.98px){
  .siepp-app-main__frame .siepp-panel-grid{grid-template-columns:1fr}
  .siepp-app-main__frame .siepp-panel,.siepp-app-main__frame .siepp-card,.siepp-app-main__frame .siepp-form-card{padding:13px}
  .siepp-app-main__frame table th,.siepp-app-main__frame table td{padding:8px 9px}
}

/* Utilidades semánticas que sustituyen por completo los antiguos siepp-inline-*. */
.siepp-block-center{text-align:center;margin-bottom:15px}
.siepp-text-muted{color:var(--siepp-ui-muted)}
.siepp-text-small{font-size:11px;line-height:1.45}
.siepp-text-strong{font-weight:800}
.siepp-status-message{margin:8px 0;color:#456b59;font:700 13px/1.4 "Lato",Arial,sans-serif}
.siepp-table-key{width:35%;font-weight:800;color:#5f4d5b}
.siepp-divider{height:1px;margin:14px 0;border:0;background:var(--siepp-ui-border)}
.siepp-hidden{display:none}
.siepp-media-feature{display:block;width:min(220px,100%);height:auto;max-height:200px;margin:0 auto;object-fit:contain}
.siepp-chart-frame{width:100%;min-height:360px;margin:0 auto}
.siepp-heading-logo--small{width:30px;max-width:30px;height:30px;margin-left:6px;margin-right:0}
.siepp-help-icon{color:#4e788e;font-size:22px;line-height:1}
.siepp-content-box--nested{background:#f8fafb;box-shadow:none}
.siepp-content-box--warning{border-color:#e4d3a7;background:#f3e9ca;color:#6a5529}
.siepp-empty-state--info{border-color:#bfd5df;background:#e1edf2;color:#355d70}
.siepp-upload-preview{display:inline-flex;align-items:center;justify-content:center;width:200px;max-width:100%;aspect-ratio:1/1;overflow:hidden;border:1px solid var(--siepp-ui-border);border-radius:12px;background:#fff}
.siepp-upload-preview img{display:block;width:100%;height:100%;object-fit:contain}
.siepp-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:180px;padding:20px;border:2px dashed #a8c0ca;border-radius:14px;background:#f3f7f8;color:#486171;font:600 12px/1.45 "Lato",Arial,sans-serif;text-align:center}
.siepp-progress-zero{width:0}
.siepp-modal-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;width:100%;height:100%;padding:20px;background:rgba(24,40,50,.52)}
.siepp-modal-overlay[hidden]{display:none}
body.siepp-modal-open{overflow:hidden}
.siepp-modal-dialog{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--siepp-ui-border);border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(24,40,50,.22)}
.siepp-modal-content{display:flex;flex-direction:column}
.siepp-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--siepp-ui-border)}
.siepp-modal-title{margin:0;color:var(--siepp-ui-text);font:700 18px/1.25 "Outfit","Lato",Arial,sans-serif}
.siepp-modal-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:var(--siepp-btn-secondary-a);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.siepp-modal-body{padding:18px;color:var(--siepp-ui-text)}
.siepp-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--siepp-ui-border)}
.siepp-modal-image{display:block;width:150px;height:150px;margin:0 auto 10px;object-fit:contain;border-radius:12px}
.siepp-loader{display:none;width:100%;padding:14px;text-align:center}
.siepp-hero-action{display:flex;align-items:center;width:100%;min-height:220px;margin:12px 0 18px;padding:18px;border:1px solid var(--siepp-ui-border);border-radius:var(--siepp-ui-radius);background:var(--siepp-ui-surface-soft);box-shadow:var(--siepp-ui-shadow)}
.siepp-hero-action>.siepp-container{width:100%;max-width:100%;padding:0}
.siepp-hero-action__body{display:flex;align-items:center;justify-content:center;min-height:160px;padding:16px;text-align:center}


/* ===== SIEPP · utilidades semánticas sin hashes ===== */
.siepp-text-uppercase{text-transform:uppercase}
.siepp-text-info{color:#426878;font-weight:700}
.siepp-text-warning{color:#805a3b;font-weight:800}

.siepp-cursor-pointer{cursor:pointer}
.siepp-block-gap-sm{margin-bottom:10px}
.siepp-detail-row{padding:6px 0;border-bottom:1px solid #edf1f3;color:var(--siepp-ui-text)}
.siepp-detail-row:last-child{border-bottom:0}
.siepp-info-strip,.siepp-warning-strip,.siepp-danger-strip{width:100%;margin:8px 0;padding:11px 13px;border:1px solid var(--siepp-ui-border);border-radius:10px;font:600 12px/1.45 "Lato",Arial,sans-serif}
.siepp-info-strip{background:#e8f1f4;color:#355d70;border-color:#c5d9e1}
.siepp-warning-strip{background:#f3e9ca;color:#6a5529;border-color:#e4d3a7}
.siepp-danger-strip{background:#f1e1e6;color:#704452;border-color:#dfc1ca}
.siepp-status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;border-radius:999px;color:#fff;font:700 11px/1.2 "Outfit","Lato",Arial,sans-serif}
.siepp-status-chip--info{background:var(--siepp-btn-info-b)}
.siepp-status-chip--success{background:var(--siepp-btn-success-b)}
.siepp-status-chip--warning{background:var(--siepp-btn-warning-b)}
.siepp-status-chip--danger{background:var(--siepp-btn-danger-b)}
.siepp-status-chip--neutral{background:var(--siepp-btn-secondary-b)}
.siepp-choice-label{display:inline-block;font-size:16px;line-height:1.35}
.siepp-choice-button{width:min(200px,100%);min-height:120px;white-space:normal}
.siepp-media-responsive{display:block;max-width:100%;max-height:260px;margin:0 auto;border-radius:12px;object-fit:contain}
.siepp-choice-row:not(tr){display:flex;align-items:flex-start;gap:8px;font-size:14px;cursor:pointer}
.siepp-actions-wrap{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.siepp-download-link{display:inline-flex;max-width:100%;text-decoration:none}
.siepp-chart-frame--compact{min-width:0;max-width:100%;height:400px}
.siepp-card--success{border-color:#bfd7ca}
.siepp-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;width:100%;margin:0;padding:0}
body:not(.siepp-home-page) .siepp-feature-grid>.siepp-feature-card{width:100%;margin:0;padding:14px;border:1px solid var(--siepp-ui-border);border-radius:var(--siepp-ui-radius);background:#fff;box-shadow:var(--siepp-ui-shadow)}
body:not(.siepp-home-page) .siepp-feature-grid>.siepp-feature-card>img{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:10px}
/* ===== FIN SIEPP utilidades ===== */

.siepp-text-justify{text-align:justify}

/* ===== SIEPP · menú principal y seguridad visual ===== */
.siepp-logout-form{margin:0;padding:0}
.siepp-logout-form .siepp-action-btn{border:0;cursor:pointer}
.siepp-login-alert{display:grid;gap:2px;margin:0 0 12px;padding:10px 12px;border:1px solid #e1c4cd;border-radius:10px;background:#f7eaee;color:#704452;font-size:11px;line-height:1.4}
.siepp-login-alert strong{font-family:"Outfit","Lato",Arial,sans-serif;font-size:12px;font-weight:800}
.siepp-login-alert span{font-weight:600}

body.siepp-home-v46 .siepp-home-main{min-height:calc(100vh - 126px);background:linear-gradient(180deg,#f7fafb 0%,#eef3f5 100%)}
body.siepp-home-v46 .siepp-home-hero{padding:15px 0;border-bottom:1px solid #dce7ea;background:linear-gradient(135deg,#f2f9fa 0%,#fbf7fa 58%,#f8f2e8 100%)}
body.siepp-home-v46 .siepp-home-hero__inner{grid-template-columns:auto minmax(0,1fr) auto;gap:14px}
body.siepp-home-v46 .siepp-home-hero__icon{width:50px;height:50px;border-radius:15px}
body.siepp-home-v46 .siepp-home-hero__copy h1{margin:2px 0 3px;font-size:30px;font-weight:650;line-height:1.05}
body.siepp-home-v46 .siepp-home-hero__copy p{font-size:12px;line-height:1.35}
.siepp-home-summary{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid rgba(48,111,126,.18);border-radius:13px;background:rgba(255,255,255,.82);box-shadow:0 7px 18px rgba(39,65,77,.07)}
.siepp-home-summary__item{display:grid;gap:1px;color:#667b85;font-size:9px;font-weight:700;line-height:1.2;white-space:nowrap;text-transform:uppercase;letter-spacing:.055em}
.siepp-home-summary__item strong{color:#274653;font-family:"Outfit","Lato",Arial,sans-serif;font-size:13px;font-weight:700;text-transform:none;letter-spacing:0}
.siepp-home-summary__divider{width:1px;height:28px;background:#dbe5e8}

body.siepp-home-v46 .siepp-modules-section{padding:16px 0 14px;background:transparent}
.siepp-home-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:end;gap:18px;margin-bottom:12px}
body.siepp-home-v46 .siepp-section-heading{margin:0;align-items:end}
body.siepp-home-v46 .siepp-section-heading h2{font-size:23px}
body.siepp-home-v46 .siepp-section-heading p{font-size:10px}
.siepp-module-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:0 10px;border:1px solid #cfdde2;border-radius:12px;background:#fff;box-shadow:0 6px 16px rgba(34,58,70,.06);transition:border-color .16s ease,box-shadow .16s ease}
.siepp-module-search:focus-within{border-color:#7db8c6;box-shadow:0 0 0 3px rgba(49,139,162,.11),0 7px 18px rgba(34,58,70,.08)}
.siepp-module-search svg{width:17px;height:17px;color:#4e7a87}
.siepp-module-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#2d414c;font-size:12px;font-weight:600}
.siepp-module-search input::placeholder{color:#899aa2}
.siepp-module-search__count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#edf4f6;color:#3d6876;font-size:10px;font-weight:800}

body.siepp-home-v46 .siepp-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0}
body.siepp-home-v46 .siepp-feature-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid #d7e2e6;border-radius:15px;background:#fff;box-shadow:0 8px 20px rgba(31,55,66,.075);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
body.siepp-home-v46 .siepp-feature-card:hover{transform:translateY(-3px);border-color:#bdd2da;box-shadow:0 14px 28px rgba(31,55,66,.12)}
body.siepp-home-v46 .siepp-feature-card[hidden]{display:none}
body.siepp-home-v46 .siepp-feature-card.is-unavailable{border-style:dashed;background:#fbfcfc}
body.siepp-home-v46 .siepp-feature-card.is-unavailable:hover{transform:none;box-shadow:0 8px 20px rgba(31,55,66,.075)}
.siepp-feature-card__media{position:relative;height:126px;overflow:hidden;background:#eef4f6}
.siepp-feature-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,37,45,.02) 25%,rgba(19,37,45,.34) 100%);pointer-events:none}
.siepp-feature-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .28s ease,filter .28s ease}
body.siepp-home-v46 .siepp-feature-card.is-unavailable .siepp-feature-card__media img{filter:grayscale(.55);opacity:.72}
.siepp-feature-card__number{position:absolute;z-index:2;left:9px;top:9px;padding:5px 7px;border:1px solid rgba(255,255,255,.45);border-radius:7px;background:rgba(41,61,70,.72);color:#fff;font-size:8px;font-weight:900;letter-spacing:.1em;backdrop-filter:blur(6px)}
.siepp-feature-card__status{position:absolute;z-index:2;right:9px;bottom:9px;display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.9);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;box-shadow:0 3px 10px rgba(23,42,51,.12)}
.siepp-feature-card__status i{width:6px;height:6px;border-radius:50%}
.siepp-feature-card__status.is-active{color:#17695f}.siepp-feature-card__status.is-active i{background:#29a97b}
.siepp-feature-card__status.is-disabled{color:#775d35}.siepp-feature-card__status.is-disabled i{background:#c99543}
.siepp-feature-card__category{display:block;margin-bottom:5px;color:#4d7b88;font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
body.siepp-home-v46 .siepp-feature-card:nth-child(3n/**/+2) .siepp-feature-card__body .siepp-btn{background:linear-gradient(135deg,#276a7b,#4aa3b7);box-shadow:0 6px 15px rgba(39,106,123,.18)}
body.siepp-home-v46 .siepp-feature-card:nth-child(3n/**/+3) .siepp-feature-card__body .siepp-btn{background:linear-gradient(135deg,#8b6534,#bb9252);box-shadow:0 6px 15px rgba(139,101,52,.18)}
body.siepp-home-v46 .siepp-feature-card__body .siepp-btn:disabled{background:#8b989e;color:#fff;-webkit-text-fill-color:#fff;box-shadow:none;opacity:.72}
.siepp-modules-empty{display:grid;place-items:center;gap:4px;min-height:150px;padding:25px;border:1px dashed #c8d8dd;border-radius:14px;background:#f9fbfb;color:#71838b;text-align:center}
.siepp-modules-empty strong{color:#3d5661;font-family:"Outfit","Lato",Arial,sans-serif;font-size:16px}
.siepp-modules-empty span{font-size:11px;font-weight:600}

body.siepp-home-v46 .siepp-resources-section{padding:0 0 14px;background:transparent}
body.siepp-home-v46 .siepp-resource-panel{min-height:64px;padding:10px 12px;border-radius:13px}
body.siepp-home-v46 .siepp-resource-link{min-height:35px}
body.siepp-home-v46 .siepp-resource-link svg{width:14px;height:14px}

@media(max-width:980px){body.siepp-home-v46 .siepp-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.siepp-home-summary{display:none}.siepp-home-toolbar{grid-template-columns:1fr}.siepp-module-search{max-width:420px}}
@media(max-width:620px){body.siepp-home-v46 .siepp-home-hero__inner{grid-template-columns:1fr;text-align:center}.siepp-home-v46 .siepp-home-hero__icon{margin:0 auto}.siepp-home-toolbar{gap:10px}.siepp-module-search{max-width:none}.siepp-home-v46 .siepp-section-heading{align-items:flex-start}.siepp-home-v46 .siepp-feature-grid{grid-template-columns:1fr}.siepp-feature-card__media{height:140px}.siepp-home-v46 .siepp-feature-card__body{min-height:190px}}
.siepp-login-alert.is-success{border-color:#bfdccf;background:#eaf5f0;color:#356757}
.siepp-session-security-note{display:grid;gap:2px;width:100%;margin:3px 0 14px;padding:10px 12px;border:1px solid #d5e3e7;border-radius:10px;background:#f4f8f9;color:#58717b;text-align:left;font-size:10px;line-height:1.4}
.siepp-session-security-note strong{color:#365663;font-family:"Outfit","Lato",Arial,sans-serif;font-size:11px}
.siepp-session-actions form{margin:0}

/* ========================================================================== 
   SIEPP · MENÚ COMPACTO + IMÁGENES COMPLETAS + BOTONES GLOBALES
   Centralizado en assets/css/siepp.css · 2026-08
   ========================================================================== */

/* El estado vacío nunca debe sobreescribir el atributo HTML hidden. */
.siepp-modules-empty[hidden]{display:none}

/* Menú principal: conservar completa la ilustración original de cada módulo. */
body.siepp-home-v46 .siepp-feature-card__media{
  height:auto;
  aspect-ratio:801/509;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#eef4f6;
}
body.siepp-home-v46 .siepp-feature-card__media::after{
  background:linear-gradient(180deg,rgba(19,37,45,0) 58%,rgba(19,37,45,.18) 100%);
}
body.siepp-home-v46 .siepp-feature-card__media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
}
body.siepp-home-v46 .siepp-feature-card:hover .siepp-feature-card__media img{
  transform:none;
  filter:saturate(1.035);
}

/* Tarjetas más compactas: menos aire vertical y lectura más continua. */
body.siepp-home-v46 .siepp-feature-card__body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:154px;
  padding:9px 11px 10px;
}
body.siepp-home-v46 .siepp-feature-card__category{
  margin-bottom:3px;
  font-size:7.5px;
  line-height:1.05;
  letter-spacing:.065em;
}
body.siepp-home-v46 .siepp-feature-card__body h3{
  display:-webkit-box;
  color:#63364e;
  font-family:"Outfit","Lato",Arial,sans-serif;
  min-height:0;
  max-height:none;
  margin:0 0 4px;
  overflow:hidden;
  font-size:15px;
  font-weight:650;
  line-height:1.12;
  letter-spacing:-.012em;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.siepp-home-v46 .siepp-feature-card__body>p{
  display:-webkit-box;
  color:#596f79;
  flex:0 0 auto;
  min-height:0;
  max-height:none;
  margin:0 0 7px;
  overflow:hidden;
  font-size:10.5px;
  font-weight:500;
  line-height:1.30;
  letter-spacing:-.004em;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.siepp-home-v46 .siepp-feature-card__body .siepp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:32px;
  margin-top:auto;
  border:0;
  border-radius:9px;
  background:linear-gradient(135deg,#5e3c53,#8d526f);
  color:#fff;
  -webkit-text-fill-color:#fff;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 6px 15px rgba(94,60,83,.18);
  cursor:pointer;
  padding:5px 10px;
  gap:6px;
  font-size:9.5px;
  line-height:1;
  letter-spacing:.035em;
}
body.siepp-home-v46 .siepp-feature-card__body .siepp-btn svg{
  width:14px;
  height:14px;
}

/* Botones del sistema: texto blanco en todos sus estados, globalmente. */
:where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button),
:where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button):link,
:where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button):visited,
:where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button):hover,
:where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button):focus,
:where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button):active{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
:where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button) :where(span,strong,small,i){
  color:inherit;
  -webkit-text-fill-color:inherit;
}
.siepp-btn:disabled,
.siepp-btn[disabled],
.siepp-btn[aria-disabled="true"]{
  color:#fff;
  -webkit-text-fill-color:#fff;
}

/* Mantener la misma proporción de imagen también en móvil. */
@media(max-width:620px){
  body.siepp-home-v46 .siepp-feature-card__media{height:auto;aspect-ratio:801/509}
  body.siepp-home-v46 .siepp-feature-card__body{min-height:148px;padding:9px 11px 10px}
}


/* ===== SIEPP · NORMALIZACIÓN GLOBAL DE MARKUP HEREDADO ===== */
/*
 * Esta capa es deliberadamente global: los módulos no deben definir estilos
 * locales. Normaliza salidas PHP históricas que aún imprimen enlaces sin clase,
 * y evita que encabezados internos sobrescriban el texto blanco de controles.
 */
body.siepp-global .siepp-app-main__frame .siepp-btn,
body.siepp-global .siepp-app-main__frame .siepp-action-btn,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger,
body.siepp-global .siepp-app-main__frame .siepp-option-card,
body.siepp-global .siepp-app-main__frame .siepp-resource-link,
body.siepp-global .siepp-app-main__frame .siepp-field-edit,
body.siepp-global .siepp-app-main__frame .siepp-modal-close,
body.siepp-global .siepp-app-main__frame button:not(.siepp-captcha-refresh),
body.siepp-global .siepp-app-main__frame input[type="submit"],
body.siepp-global .siepp-app-main__frame input[type="button"],
body.siepp-global .siepp-app-main__frame input[type="reset"]{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
body.siepp-global .siepp-app-main__frame .siepp-btn *,
body.siepp-global .siepp-app-main__frame .siepp-action-btn *,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger *,
body.siepp-global .siepp-app-main__frame .siepp-option-card *,
body.siepp-global .siepp-app-main__frame .siepp-resource-link *,
body.siepp-global .siepp-app-main__frame .siepp-field-edit *{
  color:inherit;
  -webkit-text-fill-color:inherit;
}
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger h1,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger h2,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger h3,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger h4,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger h5,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger h6,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger span,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger strong,
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger small{
  color:#fff;
  -webkit-text-fill-color:#fff;
}

/* Enlace textual heredado: nunca vuelve a verse azul/subrayado del navegador. */
body.siepp-global .siepp-app-main__frame a:not([class]){
  color:#356b7c;
  font-weight:700;
  text-decoration:none;
  text-underline-offset:2px;
}
body.siepp-global .siepp-app-main__frame a:not([class]):hover,
body.siepp-global .siepp-app-main__frame a:not([class]):focus{color:#274f5d;text-decoration:underline}
body.siepp-global .siepp-app-main__frame .siepp-adapted-link{
  color:#356b7c;
  font-weight:700;
  text-decoration:none;
  text-underline-offset:2px;
}
body.siepp-global .siepp-app-main__frame .siepp-adapted-link:hover,
body.siepp-global .siepp-app-main__frame .siepp-adapted-link:focus{
  color:#274f5d;
  text-decoration:underline;
}

/* Listados PHP antiguos convertidos centralmente a tarjetas institucionales. */
body.siepp-global .siepp-app-main__frame .siepp-record-link,
body.siepp-global .siepp-app-main__frame .siepp-card__body>a:not([class]):not(:has(img)),
body.siepp-global .siepp-app-main__frame .siepp-panel>a:not([class]):not(:has(img)){
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  min-width:0;
  margin:7px 0;
  padding:10px 12px;
  border:1px solid #d7e3e8;
  border-radius:12px;
  background:#fff;
  color:#486171;
  font:600 12px/1.4 "Lato",Arial,sans-serif;
  text-decoration:none;
  overflow-wrap:break-word;
  word-break:normal;
  box-shadow:0 5px 14px rgba(44,68,84,.06);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
body.siepp-global .siepp-app-main__frame .siepp-record-link strong,
body.siepp-global .siepp-app-main__frame .siepp-card__body>a:not([class]):not(:has(img)) strong,
body.siepp-global .siepp-app-main__frame .siepp-panel>a:not([class]):not(:has(img)) strong{color:#355163;font-weight:800}
body.siepp-global .siepp-app-main__frame .siepp-record-link:hover,
body.siepp-global .siepp-app-main__frame .siepp-record-link:focus,
body.siepp-global .siepp-app-main__frame .siepp-card__body>a:not([class]):not(:has(img)):hover,
body.siepp-global .siepp-app-main__frame .siepp-card__body>a:not([class]):not(:has(img)):focus,
body.siepp-global .siepp-app-main__frame .siepp-panel>a:not([class]):not(:has(img)):hover,
body.siepp-global .siepp-app-main__frame .siepp-panel>a:not([class]):not(:has(img)):focus{
  color:#355163;
  text-decoration:none;
  background:#f8fbfc;
  border-color:#bcd0d8;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(44,68,84,.10);
}

/* Acciones heredadas basadas exclusivamente en iconos. */
body.siepp-global .siepp-app-main__frame .siepp-image-link,
body.siepp-global .siepp-app-main__frame a:not([class]):has(>img){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  margin:3px;
  padding:4px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:inherit;
  text-decoration:none;
  vertical-align:middle;
  transition:transform .16s ease,background .16s ease,border-color .16s ease;
}
body.siepp-global .siepp-app-main__frame .siepp-image-link:hover,
body.siepp-global .siepp-app-main__frame .siepp-image-link:focus,
body.siepp-global .siepp-app-main__frame a:not([class]):has(>img):hover,
body.siepp-global .siepp-app-main__frame a:not([class]):has(>img):focus{
  border-color:#d5e2e7;
  background:#f2f7f8;
  transform:translateY(-1px);
}
body.siepp-global .siepp-app-main__frame .siepp-image-link>img,
body.siepp-global .siepp-app-main__frame a:not([class]):has(>img)>img{display:block;max-width:100%;height:auto;object-fit:contain}

/* Los saltos heredados alrededor de acordeones no generan franjas vacías. */
body.siepp-global .siepp-app-main__frame .siepp-card>br:first-child,
body.siepp-global .siepp-app-main__frame .siepp-card>br:last-child,
body.siepp-global .siepp-app-main__frame [role="tab"]>br:first-child,
body.siepp-global .siepp-app-main__frame [role="tab"]>br:last-child{display:none}

/* Texto largo dentro de paneles/listados siempre conserva lectura horizontal. */
body.siepp-global .siepp-app-main__frame .siepp-card__body,
body.siepp-global .siepp-app-main__frame .siepp-panel,
body.siepp-global .siepp-app-main__frame .siepp-user-item__text,
body.siepp-global .siepp-app-main__frame .siepp-record-link{
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
  white-space:normal;
}


/* ===== SIEPP · FORMULARIOS Y FRAGMENTOS GLOBALES ===== */
/*
 * Única capa visual para captura de datos. JS aplica .siepp-form a formularios
 * reales y .siepp-form-fragment a controles AJAX/históricos que no tienen una
 * etiqueta <form> propia. No se crean formularios artificiales ni se altera el
 * método, action, name, value o flujo de envío de ningún módulo.
 */

body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment){
  --siepp-form-accent:#4e788e;
  --siepp-form-accent-dark:#3d6375;
  --siepp-form-tint:#edf5f7;
  position:relative;
  min-width:0;
  max-width:100%;
  color:var(--siepp-form-ink);
  font-family:"Lato",Arial,sans-serif;
}
body.siepp-global .siepp-app-main__frame form.siepp-form{width:100%}
body.siepp-global .siepp-app-main__frame form.siepp-form--standalone{
  margin:12px 0 18px;
  padding:20px;
  border:1px solid var(--siepp-form-line);
  border-radius:var(--siepp-form-radius);
  background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
  box-shadow:var(--siepp-form-shadow);
  transition:border-color .22s ease,box-shadow .22s ease;
}
body.siepp-global .siepp-app-main__frame form.siepp-form--standalone:focus-within{
  border-color:#bed3db;
  box-shadow:0 18px 42px rgba(41,68,81,.12);
}
body.siepp-global .siepp-app-main__frame form.siepp-form--integrated{
  margin:0;padding:0;border:0;background:transparent;box-shadow:none;
}

body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(h2,h3,h4,h5,h6){
  margin-top:0;color:#3f5967;font-family:"Outfit","Lato",Arial,sans-serif;letter-spacing:.005em;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) .siepp-section-heading{margin-bottom:14px}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(label,.siepp-field-label){
  display:block;margin:0 0 5px;color:#3d5665;font:700 12px/1.32 "Lato",Arial,sans-serif;letter-spacing:.004em;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) label.siepp-label-required::after{
  content:" *";color:#a24f68;font-weight:800;
}

/* Geometría única: todos los controles modernizados reciben .siepp-field desde JS. */
body.siepp-global .siepp-app-main__frame .siepp-field{
  width:100%;max-width:100%;min-height:42px;margin:0 0 11px;padding:9px 12px;
  border:1px solid #cbdbe1;border-radius:var(--siepp-form-control-radius);background:#fff;
  color:#304957;-webkit-text-fill-color:#304957;font:500 12px/1.35 "Lato",Arial,sans-serif;
  letter-spacing:.002em;outline:0;box-shadow:0 1px 0 rgba(52,77,92,.02);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
body.siepp-global .siepp-app-main__frame textarea.siepp-field{min-height:104px;resize:vertical;line-height:1.48}
body.siepp-global .siepp-app-main__frame select.siepp-field{cursor:pointer}
body.siepp-global .siepp-app-main__frame .siepp-field::placeholder{color:#8a9aa3;opacity:1}
body.siepp-global .siepp-app-main__frame .siepp-field:hover:not(:disabled):not([readonly]){border-color:#afc7d0}
body.siepp-global .siepp-app-main__frame .siepp-field:focus{
  border-color:var(--siepp-form-focus);background:#fff;box-shadow:0 0 0 4px rgba(60,145,168,.13),0 5px 14px rgba(48,82,97,.06);
}
body.siepp-global .siepp-app-main__frame .siepp-field[readonly],
body.siepp-global .siepp-app-main__frame .siepp-field:disabled{
  border-color:#dae3e7;background:#eef3f5;color:#657883;-webkit-text-fill-color:#657883;cursor:not-allowed;
}
body.siepp-global .siepp-app-main__frame input.siepp-field[type="file"]{min-height:44px;padding:5px;background:#f9fbfc}
body.siepp-global .siepp-app-main__frame input.siepp-field[type="file"]::file-selector-button{
  min-height:32px;margin-right:9px;padding:6px 11px;border:0;border-radius:8px;
  background:linear-gradient(135deg,#4e788e,#426878);color:#fff;font:700 11px/1 "Lato",Arial,sans-serif;
  cursor:pointer;transition:filter .18s ease,transform .18s ease;
}
body.siepp-global .siepp-app-main__frame input.siepp-field[type="file"]::file-selector-button:hover{filter:brightness(1.06)}

body.siepp-global .siepp-app-main__frame .siepp-check{
  width:18px;height:18px;margin:0 7px 0 0;accent-color:var(--siepp-form-accent,#4e788e);vertical-align:middle;cursor:pointer;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) label:has(>.siepp-check){
  display:flex;align-items:center;gap:6px;min-height:34px;margin:2px 0;padding:6px 9px;border-radius:9px;
  background:#f7fafb;cursor:pointer;transition:background .18s ease;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) label:has(>.siepp-check):hover{background:#edf4f6}

/* Única clase de agrupación vigente; compatibilidades Bootstrap no utilizadas fueron retiradas. */
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) .siepp-form-group{
  width:100%;min-width:0;margin:0 0 12px;
}

/* Bloques pastel. Solo se aplican cuando el formulario realmente contiene secciones/fieldset. */
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(.siepp-form-block,fieldset,.siepp-form-section){
  --siepp-block-accent:#4e788e;--siepp-block-accent-dark:#3f6576;--siepp-block-bg:#eef5f7;
  position:relative;width:100%;min-width:0;margin:0 0 15px;padding:16px;
  border:1px solid #dbe6ea;border-left:4px solid var(--siepp-block-accent);border-radius:14px;
  background:linear-gradient(135deg,#fff 0%,var(--siepp-block-bg) 100%);box-shadow:0 6px 18px rgba(44,68,84,.05);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(.siepp-form-block,fieldset,.siepp-form-section):hover{
  transform:translateY(-1px);box-shadow:0 10px 24px rgba(44,68,84,.08);
}
body.siepp-global .siepp-app-main__frame .siepp-form-block--1{--siepp-block-accent:#4e8998;--siepp-block-bg:#eef8f8}
body.siepp-global .siepp-app-main__frame .siepp-form-block--2{--siepp-block-accent:#8b6681;--siepp-block-bg:#f8f1f6}
body.siepp-global .siepp-app-main__frame .siepp-form-block--3{--siepp-block-accent:#b48645;--siepp-block-bg:#fbf5e9}
body.siepp-global .siepp-app-main__frame .siepp-form-block--4{--siepp-block-accent:#5f8d73;--siepp-block-bg:#eef7f2}
body.siepp-global .siepp-app-main__frame .siepp-form-block--5{--siepp-block-accent:#617fb2;--siepp-block-bg:#f0f4fb}
body.siepp-global .siepp-app-main__frame .siepp-form-block--6{--siepp-block-accent:#9b6f6a;--siepp-block-bg:#faf1ef}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) fieldset>legend,
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) .siepp-form-block>legend{
  max-width:calc(100% - 12px);margin:0 0 9px;padding:6px 10px;border-radius:9px;background:var(--siepp-block-accent);
  color:#fff;-webkit-text-fill-color:#fff;font:750 12px/1.25 "Outfit","Lato",Arial,sans-serif;letter-spacing:.012em;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) fieldset>legend:empty{display:none}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) fieldset>legend:empty+strong,
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) fieldset>strong:first-child{
  display:block;margin:-2px 0 12px;padding:7px 10px;border-radius:9px;background:var(--siepp-block-bg,#eef5f7);
  color:var(--siepp-block-accent-dark,#3f6576);font:750 12px/1.38 "Outfit","Lato",Arial,sans-serif;
}

body.siepp-global .siepp-app-main__frame table.siepp-form-table{
  margin:8px 0 14px;border:1px solid #dce6ea;border-radius:13px;box-shadow:none;
}
body.siepp-global .siepp-app-main__frame table.siepp-form-table :where(td,th){padding:9px 10px;vertical-align:top}
body.siepp-global .siepp-app-main__frame table.siepp-form-table :where(.siepp-field,.siepp-check){margin-bottom:0}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) .siepp-form-note{
  display:block;margin:-5px 0 10px;color:var(--siepp-form-muted);font:500 10.5px/1.4 "Lato",Arial,sans-serif;
}
body.siepp-global .siepp-app-main__frame .siepp-field[aria-invalid="true"],
body.siepp-global .siepp-app-main__frame .siepp-field:user-invalid{
  border-color:#b96678;box-shadow:0 0 0 3px rgba(185,102,120,.10);
}

/* Acciones de formulario: una sola regla y texto siempre blanco. */
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(
  button[type="submit"],button[type="button"],button[type="reset"],input[type="submit"],input[type="button"],input[type="reset"]
):not(.siepp-captcha-refresh){
  min-height:38px;border:0;border-radius:10px;color:#fff;-webkit-text-fill-color:#fff;
  font:750 11px/1 "Outfit","Lato",Arial,sans-serif;letter-spacing:.018em;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(
  input[type="submit"],button[type="submit"]
):not([class]){
  padding:9px 15px;background:linear-gradient(135deg,#805c76,#6d4d64);box-shadow:0 6px 14px rgba(109,77,100,.18);
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(
  input[type="button"],button[type="button"],input[type="reset"],button[type="reset"]
):not([class]){
  padding:9px 15px;background:linear-gradient(135deg,#5c8192,#496d7c);box-shadow:0 6px 14px rgba(73,109,124,.16);
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(button,input[type="submit"],input[type="button"],input[type="reset"]):hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(button,input[type="submit"],input[type="button"],input[type="reset"]):active:not(:disabled){transform:translateY(0)}

/* Dropzone hereda el mismo lenguaje visual sin modificar su comportamiento. */
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) .dropzone,
body.siepp-global .siepp-app-main__frame .dropzone.siepp-form-dropzone{
  min-height:150px;margin:8px 0 14px;padding:18px;border:2px dashed #a9c5cf;border-radius:14px;
  background:linear-gradient(135deg,#fbfdfe,#eef6f8);color:#506a78;box-shadow:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) .dropzone:hover,
body.siepp-global .siepp-app-main__frame .dropzone.siepp-form-dropzone:hover{
  border-color:#6fa4b5;background:#f0f7f9;transform:translateY(-1px);
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) .dropzone .dz-message,
body.siepp-global .siepp-app-main__frame .dropzone.siepp-form-dropzone .dz-message{
  margin:28px 0;color:#57717e;font:700 12px/1.45 "Lato",Arial,sans-serif;
}

html.siepp-js body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment).siepp-form-ready{
  animation:siepp-form-enter .28s ease-out both;
}
@keyframes siepp-form-enter{from{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:767.98px){
  body.siepp-global .siepp-app-main__frame form.siepp-form--standalone{padding:14px;border-radius:15px}
  body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment) :where(.siepp-form-block,fieldset,.siepp-form-section){padding:13px}
}
@media(prefers-reduced-motion:reduce){
  html.siepp-js body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment).siepp-form-ready{animation:none}
}

/* ===== SIEPP · CENTRO GLOBAL DE MENSAJES ===== */
.siepp-toast-host{
  position:fixed;
  z-index:10050;
  top:max(18px,env(safe-area-inset-top));
  right:max(18px,env(safe-area-inset-right));
  display:flex;
  flex-direction:column;
  gap:10px;
  width:min(420px,calc(100vw - 36px));
  pointer-events:none;
}
.siepp-toast{
  --siepp-toast-accent:#318ba2;
  --siepp-toast-soft:#edf8fa;
  --siepp-toast-ink:#244b58;
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 30px;
  gap:11px;
  align-items:start;
  overflow:hidden;
  padding:13px 13px 14px;
  border:1px solid color-mix(in srgb,var(--siepp-toast-accent) 26%,#d9e4e8);
  border-radius:18px;
  background:linear-gradient(135deg,#fff 0%,var(--siepp-toast-soft) 100%);
  color:var(--siepp-toast-ink);
  box-shadow:0 18px 46px rgba(28,50,63,.18),0 3px 10px rgba(28,50,63,.08);
  opacity:0;
  transform:translate3d(26px,-8px,0) scale(.98);
  transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;
  pointer-events:auto;
  isolation:isolate;
}
.siepp-toast::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--siepp-toast-accent),color-mix(in srgb,var(--siepp-toast-accent) 55%,#fff));
}
.siepp-toast.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.siepp-toast.is-leaving{opacity:0;transform:translate3d(24px,-4px,0) scale(.985)}
.siepp-toast--success{--siepp-toast-accent:#36a56f;--siepp-toast-soft:#eef9f3;--siepp-toast-ink:#285e45}
.siepp-toast--danger{--siepp-toast-accent:#c55368;--siepp-toast-soft:#fdf1f4;--siepp-toast-ink:#713746}
.siepp-toast--warning{--siepp-toast-accent:#d39a32;--siepp-toast-soft:#fff8e9;--siepp-toast-ink:#75531d}
.siepp-toast--info{--siepp-toast-accent:#318ba2;--siepp-toast-soft:#eef8fb;--siepp-toast-ink:#295768}
.siepp-toast__icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(145deg,var(--siepp-toast-accent),color-mix(in srgb,var(--siepp-toast-accent) 68%,#1e4251));
  box-shadow:0 8px 18px color-mix(in srgb,var(--siepp-toast-accent) 25%,transparent);
}
.siepp-toast__icon svg,.siepp-toast__close svg,.siepp-dialog__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.siepp-toast__content{min-width:0;padding-top:1px}
.siepp-toast__title{display:block;margin:0 0 3px;color:var(--siepp-toast-ink);font:800 13px/1.2 "Outfit","Lato",Arial,sans-serif;letter-spacing:.01em}
.siepp-toast__message{margin:0;color:color-mix(in srgb,var(--siepp-toast-ink) 82%,#60727d);font:600 12px/1.42 "Lato",Arial,sans-serif;overflow-wrap:anywhere}
.siepp-toast__close{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  margin:-2px -2px 0 0;
  padding:0;
  border:0;
  border-radius:9px;
  color:color-mix(in srgb,var(--siepp-toast-ink) 70%,#fff);
  background:transparent;
  cursor:pointer;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.siepp-toast__close:hover,.siepp-toast__close:focus-visible{color:var(--siepp-toast-ink);background:rgba(255,255,255,.82);transform:scale(1.06)}
.siepp-toast__progress{
  position:absolute;
  left:5px;
  right:0;
  bottom:0;
  height:3px;
  transform-origin:left center;
  background:linear-gradient(90deg,var(--siepp-toast-accent),color-mix(in srgb,var(--siepp-toast-accent) 38%,#fff));
  animation:siepp-toast-progress var(--siepp-toast-duration,4800ms) linear forwards;
}
.siepp-toast.is-paused .siepp-toast__progress{animation-play-state:paused}
@keyframes siepp-toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}

body.siepp-dialog-open{overflow:hidden}
.siepp-dialog-layer{
  position:fixed;
  z-index:10060;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(22,37,47,.46);
  backdrop-filter:blur(7px);
  opacity:0;
  transition:opacity .2s ease;
}
.siepp-dialog-layer.is-visible{opacity:1}
.siepp-dialog{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:15px;
  width:min(520px,100%);
  padding:22px;
  border:1px solid rgba(255,255,255,.85);
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f4f8f9);
  box-shadow:0 30px 80px rgba(22,37,47,.28);
  transform:translateY(14px) scale(.97);
  transition:transform .23s cubic-bezier(.2,.8,.2,1);
}
.siepp-dialog-layer.is-visible .siepp-dialog{transform:translateY(0) scale(1)}
.siepp-dialog__icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,#318ba2,#205e70);
  box-shadow:0 10px 24px rgba(49,139,162,.25);
}
.siepp-dialog-layer--danger .siepp-dialog__icon{background:linear-gradient(145deg,#dcab46,#b87b20);box-shadow:0 10px 24px rgba(211,154,50,.28)}
.siepp-dialog__copy{min-width:0}
.siepp-dialog__eyebrow{display:block;margin:1px 0 4px;color:#318ba2;font:800 10px/1.2 "Outfit","Lato",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.siepp-dialog-layer--danger .siepp-dialog__eyebrow{color:#a76b19}
.siepp-dialog h3{margin:0 0 7px;color:#293d48;font:800 20px/1.15 "Outfit","Lato",Arial,sans-serif}
.siepp-dialog p{margin:0;color:#60727d;font:600 13px/1.5 "Lato",Arial,sans-serif;overflow-wrap:anywhere}
.siepp-dialog__actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;margin-top:4px;padding-top:15px;border-top:1px solid #dde7ea}
.siepp-dialog__actions .siepp-btn{min-width:118px}

@media(max-width:600px){
  .siepp-toast-host{top:max(10px,env(safe-area-inset-top));right:10px;left:10px;width:auto}
  .siepp-toast{grid-template-columns:40px minmax(0,1fr) 28px;padding:12px 11px 13px;border-radius:16px}
  .siepp-toast__icon{width:38px;height:38px;border-radius:12px}
  .siepp-dialog{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:18px;border-radius:19px}
  .siepp-dialog__icon{width:46px;height:46px;border-radius:15px}
  .siepp-dialog h3{font-size:18px}
  .siepp-dialog__actions{flex-direction:column-reverse}
  .siepp-dialog__actions .siepp-btn{width:100%}
}

/* Mensajes persistentes: mantienen contexto en pantalla, pero comparten la estética global. */
body.siepp-global .siepp-app-main__frame .siepp-alert[role="alert"],
body.siepp-global .siepp-app-main__frame .siepp-alert[role="status"],
body.siepp-global .siepp-login-alert{
  position:relative;
  overflow:hidden;
  padding:12px 14px 12px 46px;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(38,61,73,.08);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body.siepp-global .siepp-app-main__frame .siepp-alert[role="alert"]::before,
body.siepp-global .siepp-app-main__frame .siepp-alert[role="status"]::before,
body.siepp-global .siepp-login-alert::before{
  content:"i";
  position:absolute;
  top:11px;
  left:12px;
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:9px;
  color:#fff;
  background:#318ba2;
  font:900 14px/1 "Outfit","Lato",Arial,sans-serif;
  box-shadow:0 5px 12px rgba(49,139,162,.2);
}
body.siepp-global .siepp-app-main__frame .siepp-alert--danger[role="alert"]::before,
body.siepp-global .siepp-login-alert:not(.is-success)::before{content:"!";background:#c55368;box-shadow:0 5px 12px rgba(197,83,104,.22)}
body.siepp-global .siepp-app-main__frame .siepp-alert--success[role="status"]::before,
body.siepp-global .siepp-login-alert.is-success::before{content:"✓";background:#36a56f;box-shadow:0 5px 12px rgba(54,165,111,.22)}
body.siepp-global .siepp-app-main__frame .siepp-alert--warning[role="alert"]::before{content:"!";background:#d39a32;box-shadow:0 5px 12px rgba(211,154,50,.22)}

/* ===== SIEPP · CIERRE DE FORMULARIOS Y MENSAJERÍA ===== */
body.siepp-global .siepp-app-main__frame .siepp-field[aria-invalid="true"]{
  border-color:#b7536b;background:#fff9fa;
  box-shadow:0 0 0 4px rgba(183,83,107,.12);
}
body.siepp-global .siepp-app-main__frame .siepp-field[aria-invalid="true"]:focus{
  border-color:#a84660;box-shadow:0 0 0 4px rgba(183,83,107,.16),0 5px 14px rgba(48,82,97,.06);
}
body.siepp-global .siepp-app-main__frame :where(button,input[type="submit"],input[type="button"])[aria-busy="true"],
body.siepp-global .siepp-app-main__frame :where(button,input[type="submit"],input[type="button"]).is-loading{
  opacity:.72;cursor:progress;pointer-events:none;filter:saturate(.82);
}
body.siepp-global .siepp-app-main__frame [data-siepp-inline-message]{
  animation:siepp-inline-message-enter .22s ease-out both;
}
@keyframes siepp-inline-message-enter{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  body.siepp-global .siepp-app-main__frame [data-siepp-inline-message]{animation:none}
}

/* ========================================================================== 
   SIEPP · ACCESOS CENTRADOS A FORMULARIOS Y SUBMÓDULOS
   Componente global: una sola presentación para todos los módulos.
   ========================================================================== */
body.siepp-global .siepp-app-main__frame .siepp-access-action{
  --siepp-access-a:#416f82;
  --siepp-access-b:#55a6b5;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:min(100%,280px);
  min-width:170px;
  min-height:40px;
  margin:13px auto;
  padding:9px 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  border-radius:12px;
  background:linear-gradient(135deg,var(--siepp-access-a),var(--siepp-access-b));
  color:#fff;
  -webkit-text-fill-color:#fff;
  text-align:center;
  text-decoration:none;
  font:800 11px/1.25 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
  box-shadow:0 8px 20px color-mix(in srgb,var(--siepp-access-a) 30%,transparent);
  transform:translateZ(0);
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease,border-color .22s ease;
}
body.siepp-global .siepp-app-main__frame .siepp-access-action::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-45%;
  left:-32%;
  width:28%;
  height:190%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.27),transparent);
  transform:rotate(18deg) translateX(-220%);
  transition:transform .5s ease;
  pointer-events:none;
}
body.siepp-global .siepp-app-main__frame .siepp-access-action:hover,
body.siepp-global .siepp-app-main__frame .siepp-access-action:focus-visible{
  color:#fff;
  -webkit-text-fill-color:#fff;
  transform:translateY(-2px) scale(1.012);
  filter:saturate(1.08) brightness(1.035);
  border-color:rgba(255,255,255,.58);
  box-shadow:0 12px 26px color-mix(in srgb,var(--siepp-access-a) 38%,transparent);
  outline:none;
}
body.siepp-global .siepp-app-main__frame .siepp-access-action:hover::after,
body.siepp-global .siepp-app-main__frame .siepp-access-action:focus-visible::after{transform:rotate(18deg) translateX(560%)}
body.siepp-global .siepp-app-main__frame .siepp-access-action:active{transform:translateY(0) scale(.995)}
body.siepp-global .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="1"]{--siepp-access-a:#426f82;--siepp-access-b:#4aa5b7}
body.siepp-global .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="2"]{--siepp-access-a:#755771;--siepp-access-b:#a16891}
body.siepp-global .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="3"]{--siepp-access-a:#477963;--siepp-access-b:#69a983}
body.siepp-global .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="4"]{--siepp-access-a:#896638;--siepp-access-b:#c09752}
body.siepp-global .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="5"]{--siepp-access-a:#5367a0;--siepp-access-b:#7187ca}
body.siepp-global .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="6"]{--siepp-access-a:#8a5863;--siepp-access-b:#bd7887}
body.siepp-global .siepp-app-main__frame .siepp-feature-card__body .siepp-access-action,
body.siepp-global .siepp-app-main__frame .siepp-menu-card .siepp-access-action{width:min(100%,230px);margin:9px auto 0}
body.siepp-global .siepp-app-main__frame .siepp-actions-center .siepp-access-action,
body.siepp-global .siepp-app-main__frame .siepp-actions-wrap .siepp-access-action{margin:0}
body.siepp-global .siepp-app-main__frame :where(.siepp-section,.siepp-panel,.siepp-card,.siepp-content-box,.siepp-content-stack) > .siepp-access-action{margin-left:auto;margin-right:auto}
@media (max-width:680px){
  body.siepp-global .siepp-app-main__frame .siepp-access-action{width:min(100%,260px);min-width:0;padding:10px 14px}
}
@media (prefers-reduced-motion:reduce){
  body.siepp-global .siepp-app-main__frame .siepp-access-action,
  body.siepp-global .siepp-app-main__frame .siepp-access-action::after{transition:none}
}

/* ========================================================================== 
   SIEPP · SELECCIÓN VISUAL, SECCIONES PASTEL Y CARGA BAJO DEMANDA
   ========================================================================== */
/* Checkbox/radio: el input real se conserva para POST/accesibilidad, pero
   visualmente la selección se realiza sobre texto, imagen o fila completa. */
body.siepp-global .siepp-app-main__frame input.siepp-choice-native{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  opacity:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-tile{
  --choice-accent:var(--siepp-block-accent,#5b8798);
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  max-width:100%;
  margin:2px 0 4px;
  padding:5px 6px 5px 32px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#38515f;
  -webkit-text-fill-color:#38515f;
  text-decoration:none;
  font:700 12px/1.3 "Lato",Arial,sans-serif;
  cursor:pointer;
  user-select:none;
  box-shadow:none;
  transition:transform .16s ease,color .16s ease;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-tile::before{
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:20px;
  height:20px;
  border:2px solid #a9bdc6;
  border-radius:7px;
  background:#fff;
  transform:translateY(-50%);
  box-shadow:inset 0 0 0 3px #fff;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
body.siepp-global .siepp-app-main__frame input[type="radio"].siepp-choice-native + .siepp-choice-tile::before,
body.siepp-global .siepp-app-main__frame .siepp-choice-tile[data-siepp-choice-radio="1"]::before{border-radius:999px}
body.siepp-global .siepp-app-main__frame .siepp-choice-tile:hover,
body.siepp-global .siepp-app-main__frame .siepp-choice-tile:focus-visible{
  transform:translateY(-1px);
  border:0;
  background:transparent;
  box-shadow:none;
  outline:none;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-tile.is-selected{
  border:0;
  background:transparent;
  color:#294651;
  -webkit-text-fill-color:#294651;
  box-shadow:none;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-tile.is-selected::before{
  content:"✓";
  display:grid;
  place-items:center;
  border-color:var(--choice-accent);
  background:var(--choice-accent);
  color:#fff;
  font:900 13px/1 "Outfit","Lato",Arial,sans-serif;
  box-shadow:0 5px 12px color-mix(in srgb,var(--choice-accent) 30%,transparent);
}
body.siepp-global .siepp-app-main__frame .siepp-choice-tile.is-disabled{opacity:.58;cursor:not-allowed;filter:saturate(.65)}
body.siepp-global .siepp-app-main__frame .siepp-choice-image{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transition:transform .18s ease,filter .18s ease;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-image[role="button"]{cursor:pointer;outline:0}
body.siepp-global .siepp-app-main__frame .siepp-choice-image[role="button"]:focus-visible{border:0;box-shadow:none;outline:2px solid rgba(55,118,137,.58);outline-offset:3px}
body.siepp-global .siepp-app-main__frame .siepp-choice-image.is-selected{
  transform:translateY(-2px) scale(1.025);
  border:0;
  box-shadow:none;
  filter:saturate(1.06);
}
/* Listados tabulares: la fila completa sustituye visualmente al check. */
body.siepp-global .siepp-app-main__frame tr.siepp-choice-row{
  display:table-row;
  width:auto;
  cursor:pointer;
  outline:0;
  transition:background .17s ease,box-shadow .17s ease,transform .17s ease;
}
body.siepp-global .siepp-app-main__frame tr.siepp-choice-row:hover{background:#f2f8fa}
body.siepp-global .siepp-app-main__frame tr.siepp-choice-row.is-selected{
  background:linear-gradient(90deg,#e9f6f4,#f3f8fc);
  box-shadow:inset 4px 0 0 #4f948e;
}
body.siepp-global .siepp-app-main__frame tr.siepp-choice-row:focus-visible{box-shadow:inset 0 0 0 2px #5b94a6;outline:none}
body.siepp-global .siepp-app-main__frame .siepp-choice-row__marker{
  display:inline-grid;
  place-items:center;
  width:25px;
  height:25px;
  border:2px solid #aec2ca;
  border-radius:8px;
  background:#fff;
  color:#fff;
  font:900 14px/1 "Outfit","Lato",Arial,sans-serif;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
body.siepp-global .siepp-app-main__frame tr.siepp-choice-row.is-selected .siepp-choice-row__marker{
  border-color:#4f948e;
  background:#4f948e;
  transform:scale(1.05);
}
body.siepp-global .siepp-app-main__frame tr.siepp-choice-row.is-selected .siepp-choice-row__marker::before{content:"✓"}

/* Contenido bajo demanda: el panel abre de inmediato y consulta una sola vez. */
body.siepp-global .siepp-app-main__frame .siepp-lazy-slot{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:76px;
  width:100%;
  padding:14px;
  border:1px dashed #bfd2d9;
  border-radius:13px;
  background:linear-gradient(135deg,#f9fcfd,#eff6f8);
  color:#59717d;
  text-align:left;
  transition:background .18s ease,border-color .18s ease,opacity .18s ease;
}
body.siepp-global .siepp-app-main__frame .siepp-lazy-slot__icon{
  width:26px;height:26px;flex:0 0 26px;border:3px solid #c4d8df;border-top-color:#4f8fa3;border-radius:999px;
}
body.siepp-global .siepp-app-main__frame .siepp-lazy-slot.is-loading .siepp-lazy-slot__icon{animation:siepp-lazy-spin .72s linear infinite}
body.siepp-global .siepp-app-main__frame .siepp-lazy-slot__copy{display:flex;flex-direction:column;gap:2px;min-width:0}
body.siepp-global .siepp-app-main__frame .siepp-lazy-slot__copy strong{color:#385562;font:750 12px/1.25 "Outfit","Lato",Arial,sans-serif}
body.siepp-global .siepp-app-main__frame .siepp-lazy-slot__copy small{color:#71858f;font:500 10.5px/1.35 "Lato",Arial,sans-serif}
body.siepp-global .siepp-app-main__frame .siepp-lazy-slot.is-loaded{display:block;min-height:0;padding:0;border:0;background:transparent;text-align:initial}
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger.is-loading .siepp-accordion-chevron{animation:siepp-lazy-spin .72s linear infinite}
body.siepp-global .siepp-app-main__frame .siepp-lazy-error{padding:12px 14px;border:1px solid #ead6a9;border-radius:12px;background:#fff9eb;color:#7d632e}
@keyframes siepp-lazy-spin{to{transform:rotate(360deg)}}

@media(max-width:767.98px){
  body.siepp-global .siepp-app-main__frame .siepp-choice-tile{width:100%;margin:4px 0 7px;justify-content:flex-start;padding:11px 13px 11px 44px}
  body.siepp-global .siepp-app-main__frame .siepp-choice-image{max-width:min(100%,180px);height:auto}
  body.siepp-global .siepp-app-main__frame .siepp-lazy-slot{min-height:72px;padding:12px}
}
@media(prefers-reduced-motion:reduce){
  body.siepp-global .siepp-app-main__frame :where(.siepp-choice-tile,.siepp-choice-image,tr.siepp-choice-row,.siepp-form-pastel-section,.siepp-lazy-slot){transition:none}
  body.siepp-global .siepp-app-main__frame .siepp-lazy-slot.is-loading .siepp-lazy-slot__icon,
  body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger.is-loading .siepp-accordion-chevron{animation:none}
}

body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger.siepp-lazy-trigger{
  background-image:linear-gradient(135deg,rgba(72,126,145,.98),rgba(89,156,166,.96));
  box-shadow:0 7px 18px rgba(66,113,130,.14);
}
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger.siepp-lazy-trigger .siepp-accordion-trigger__label::after{
  content:" · bajo demanda";
  opacity:.72;
  font-size:.78em;
  font-weight:600;
  letter-spacing:.01em;
  text-transform:none;
}
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger.siepp-lazy-trigger.is-lazy-loaded .siepp-accordion-trigger__label::after{
  content:" · cargado";
}
@media(max-width:520px){
  body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger.siepp-lazy-trigger .siepp-accordion-trigger__label::after{display:none}
}

/* ===== SIEPP · FORMULARIOS COMPACTOS Y MATRICES RESPONSIVE ===== */
/*
 * Esta capa no cambia name/value/action/method. Solo reorganiza superficies que
 * el normalizador identifica como seguras: 3 columnas en escritorio, 2 en
 * tablet y 1 en móvil. Los bloques densos conservan mayor ancho automáticamente.
 */
body.siepp-global .siepp-app-main__frame :where(.siepp-form,.siepp-form-fragment).siepp-form-compact{
  --siepp-form-compact-gap:10px;
}
body.siepp-global .siepp-app-main__frame form.siepp-form--standalone.siepp-form-compact{
  margin:8px 0 12px;
  padding:14px;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-section-heading{margin-bottom:9px}
body.siepp-global .siepp-app-main__frame .siepp-form-compact :where(h2,h3,h4,h5,h6){margin-bottom:7px}
body.siepp-global .siepp-app-main__frame .siepp-form-compact :where(label,.siepp-field-label){margin-bottom:3px;line-height:1.22}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-field{
  min-height:37px;
  margin-bottom:7px;
  padding:7px 10px;
  border-radius:10px;
  line-height:1.28;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact textarea.siepp-field{min-height:78px;line-height:1.38}
body.siepp-global .siepp-app-main__frame .siepp-form-compact input.siepp-field[type="file"]{min-height:39px;padding:4px}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-form-group{margin-bottom:8px}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-form-note{margin:-2px 0 7px;line-height:1.3}
body.siepp-global .siepp-app-main__frame .siepp-form-compact :where(.siepp-form-block,fieldset,.siepp-form-section,.siepp-form-pastel-section){
  margin-bottom:10px;
  padding:11px 12px;
  border-radius:13px;
  box-shadow:0 5px 15px color-mix(in srgb,var(--siepp-pastel-accent,var(--siepp-block-accent,#5c8999)) 7%,transparent);
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact :where(fieldset>legend,.siepp-form-block>legend){
  margin-bottom:6px;
  padding:5px 9px;
  line-height:1.18;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact fieldset>legend:empty+strong,
body.siepp-global .siepp-app-main__frame .siepp-form-compact fieldset>strong:first-child{
  margin-bottom:8px;
  padding:5px 8px;
  line-height:1.25;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row{
  gap:9px;
  margin-bottom:9px;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact table.siepp-form-table{margin:5px 0 9px;border-radius:11px}
body.siepp-global .siepp-app-main__frame .siepp-form-compact table.siepp-form-table :where(td,th){padding:6px 8px;line-height:1.28}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-alert{margin-top:5px;margin-bottom:7px;padding:8px 10px}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-actions-wrap{gap:7px;margin-top:7px;margin-bottom:4px}

/* Matriz de secciones contiguas. No mueve nodos: solo cambia el layout del padre. */
body.siepp-global .siepp-app-main__frame .siepp-form-section-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:10px;
  width:100%;
  min-width:0;
}
body.siepp-global .siepp-app-main__frame .siepp-form-section-grid>.siepp-form-section-cell{
  grid-column:span 1;
  width:100%;
  min-width:0;
  height:auto;
  margin:0;
}
body.siepp-global .siepp-app-main__frame .siepp-form-section-grid>.siepp-form-section-cell--wide{grid-column:span 2}
body.siepp-global .siepp-app-main__frame .siepp-form-section-grid>.siepp-form-section-cell--full{grid-column:1/-1}

/* Filas antiguas con columnas sin span explícito: 2x o 3x de manera automática. */
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid>.siepp-form-auto-col{
  width:100%;
  min-width:0;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid--2>.siepp-form-auto-col{grid-column:span 6}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid--3>.siepp-form-auto-col,
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid--many>.siepp-form-auto-col{grid-column:span 4}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid>.siepp-form-auto-col.siepp-form-auto-col--wide{grid-column:span 8}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid>.siepp-form-auto-col.siepp-form-auto-col--full{grid-column:1/-1}

/* Galería de opciones ilustradas: imagen + selector + texto, sin tarjeta visual intermedia. */
body.siepp-global .siepp-app-main__frame .siepp-choice-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:9px;
  width:100%;
  margin:4px 0 9px;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-card{
  --choice-accent:var(--siepp-block-accent,#5b8798);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  padding:2px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transition:transform .16s ease;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-card:hover{
  transform:translateY(-1px);
  border:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-card.is-selected{
  border:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-card>.siepp-choice-image,
body.siepp-global .siepp-app-main__frame .siepp-choice-card>img{
  display:block;
  width:auto;
  max-width:100%;
  height:92px;
  max-height:92px;
  margin:0 auto 5px;
  object-fit:contain;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-card :where(strong,span,div,p){max-width:100%}
body.siepp-global .siepp-app-main__frame .siepp-choice-card .siepp-choice-tile{
  width:100%;
  min-height:37px;
  margin:0;
  padding:7px 8px 7px 34px;
  justify-content:center;
  text-align:center;
  font-size:11px;
  line-height:1.18;
  box-shadow:none;
}
body.siepp-global .siepp-app-main__frame .siepp-choice-card .siepp-choice-tile::before{left:8px;width:17px;height:17px;border-radius:6px}
body.siepp-global .siepp-app-main__frame .siepp-choice-card .siepp-choice-tile.is-selected::before{font-size:11px}

/* Imágenes informativas dentro de formularios: más uniformes y menos altura perdida. */
body.siepp-global .siepp-app-main__frame .siepp-form-compact img.siepp-visual-option__image:not(.siepp-choice-image){
  max-width:112px;
  max-height:112px;
  object-fit:contain;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-visual-option{
  width:min(152px,100%);
  margin:4px;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-visual-option>a{min-height:132px;padding:8px}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-visual-option__image{max-width:112px;max-height:112px}

/* Espaciadores heredados seguros: el JS solo marca BR vacíos entre bloques. */
body.siepp-global .siepp-app-main__frame .siepp-form-compact br.siepp-form-spacer-redundant{display:none}

@media(max-width:1099.98px){
  body.siepp-global .siepp-app-main__frame .siepp-form-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.siepp-global .siepp-app-main__frame .siepp-form-section-grid>.siepp-form-section-cell--wide{grid-column:span 2}
  body.siepp-global .siepp-app-main__frame .siepp-choice-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid--3>.siepp-form-auto-col,
  body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid--many>.siepp-form-auto-col{grid-column:span 6}
  body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid>.siepp-form-auto-col.siepp-form-auto-col--wide{grid-column:1/-1}
}
@media(max-width:767.98px){
  body.siepp-global .siepp-app-main__frame form.siepp-form--standalone.siepp-form-compact{padding:10px;margin:6px 0 10px}
  body.siepp-global .siepp-app-main__frame .siepp-form-section-grid{grid-template-columns:1fr;gap:8px}
  body.siepp-global .siepp-app-main__frame .siepp-form-section-grid>.siepp-form-section-cell,
  body.siepp-global .siepp-app-main__frame .siepp-form-section-grid>.siepp-form-section-cell--wide{grid-column:1/-1}
  body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-grid-row.siepp-form-auto-grid>.siepp-form-auto-col{grid-column:1/-1}
  body.siepp-global .siepp-app-main__frame .siepp-choice-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.siepp-global .siepp-app-main__frame .siepp-choice-card{padding:2px 0;border:0;border-radius:0;background:transparent;box-shadow:none}
  body.siepp-global .siepp-app-main__frame .siepp-choice-card>.siepp-choice-image,
  body.siepp-global .siepp-app-main__frame .siepp-choice-card>img{height:76px;max-height:76px}
  body.siepp-global .siepp-app-main__frame .siepp-choice-card .siepp-choice-tile{min-height:35px;padding:6px 6px 6px 30px;font-size:10.5px}
  body.siepp-global .siepp-app-main__frame .siepp-choice-card .siepp-choice-tile::before{left:7px;width:16px;height:16px}
  body.siepp-global .siepp-app-main__frame .siepp-form-compact :where(.siepp-form-block,fieldset,.siepp-form-section,.siepp-form-pastel-section){padding:9px 10px;margin-bottom:8px}
  body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-field{min-height:38px;margin-bottom:6px}
}
@media(max-width:399.98px){
  body.siepp-global .siepp-app-main__frame .siepp-choice-gallery{grid-template-columns:1fr 1fr}
  body.siepp-global .siepp-app-main__frame .siepp-choice-card>.siepp-choice-image,
  body.siepp-global .siepp-app-main__frame .siepp-choice-card>img{height:68px;max-height:68px}
}
@media(prefers-reduced-motion:reduce){
  body.siepp-global .siepp-app-main__frame :where(.siepp-choice-card,.siepp-form-section-cell){transition:none}
}


/* ===== SIEPP · DENSIDAD VISUAL, ENUNCIADOS Y SECCIONES EN MATRIZ ===== */
/*
 * Complementa la normalización global: compacta también información y enunciados situados fuera
 * del <form>. No modifica el orden semántico ni los campos enviados al servidor.
 */
body.siepp-global .siepp-app-main__frame .siepp-workflow-section{
  min-height:0;
  margin-bottom:8px;
  padding:11px 12px;
  border-radius:13px;
  overflow:visible;
}
body.siepp-global .siepp-app-main__frame .siepp-workflow-section>.siepp-workflow-heading{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:0;
  margin:0 0 8px;
  line-height:1.18;
  text-align:left;
}
body.siepp-global .siepp-app-main__frame .siepp-workflow-heading .siepp-section-icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  margin:0;
  border-radius:9px;
}
body.siepp-global .siepp-app-main__frame .siepp-workflow-section>:first-child{margin-top:0}
body.siepp-global .siepp-app-main__frame .siepp-workflow-section>:last-child{margin-bottom:0}
body.siepp-global .siepp-app-main__frame .siepp-workflow-section>br:first-child,
body.siepp-global .siepp-app-main__frame .siepp-workflow-heading+br,
body.siepp-global .siepp-app-main__frame .siepp-fact-grid+br,
body.siepp-global .siepp-app-main__frame .siepp-compact-statement+br{
  display:none;
}

/* Pares etiqueta/valor heredados: la presentación se resuelve únicamente
   por la capa global de datos planos; no se dibujan tarjetas por dato. */

/* Enunciados cortos: compactos, visibles y sin franjas verticalmente altas. */
body.siepp-global .siepp-app-main__frame .siepp-compact-statement{
  min-height:0;
  margin:6px 0;
  padding:7px 10px;
  border-radius:10px;
  line-height:1.18;
}
body.siepp-global .siepp-app-main__frame .siepp-compact-statement strong{
  line-height:inherit;
}

/* Matriz para secciones contiguas del flujo, incluso cuando están fuera del form. */
body.siepp-global .siepp-app-main__frame .siepp-grid-row.siepp-workflow-matrix{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:9px;
  align-items:start;
  margin-bottom:9px;
}
body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix>.siepp-workflow-matrix__cell{
  grid-column:span 4;
  width:100%;
  min-width:0;
  margin:0;
}
body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix[data-siepp-workflow-count="2"]>.siepp-workflow-matrix__cell{grid-column:span 6}
body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix[data-siepp-workflow-count="4"]>.siepp-workflow-matrix__cell{grid-column:span 6}
body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix>.siepp-workflow-matrix__cell--wide{grid-column:span 8}
body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix>.siepp-workflow-matrix__cell--full{grid-column:1/-1}
body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix .siepp-workflow-section{height:100%}

/* Más densidad en galerías visuales dentro de formularios. */
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-choice-gallery{
  gap:7px;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-choice-card{
  padding:2px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-choice-card .siepp-choice-image{
  max-width:96px;
  max-height:96px;
  margin-bottom:4px;
}
body.siepp-global .siepp-app-main__frame .siepp-form-compact .siepp-choice-card .siepp-choice-tile{
  min-height:34px;
  padding:6px 8px 6px 34px;
  margin:0;
  line-height:1.16;
}

@media(max-width:991.98px){
  body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix>.siepp-workflow-matrix__cell,
  body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix[data-siepp-workflow-count="2"]>.siepp-workflow-matrix__cell,
  body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix[data-siepp-workflow-count="4"]>.siepp-workflow-matrix__cell{grid-column:span 6}
  body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix>.siepp-workflow-matrix__cell--wide{grid-column:1/-1}
}
@media(max-width:639.98px){
  body.siepp-global .siepp-app-main__frame .siepp-workflow-section{padding:9px;margin-bottom:7px}
  body.siepp-global .siepp-app-main__frame .siepp-workflow-heading .siepp-section-icon{width:28px;height:28px;flex-basis:28px}
  body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix>.siepp-workflow-matrix__cell,
  body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix[data-siepp-workflow-count="2"]>.siepp-workflow-matrix__cell,
  body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix[data-siepp-workflow-count="4"]>.siepp-workflow-matrix__cell,
  body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix>.siepp-workflow-matrix__cell--wide{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){
  body.siepp-global .siepp-app-main__frame .siepp-workflow-section{transition:none}
}

/* ===== SIEPP · COBERTURA GLOBAL DE FORMULARIOS + DEMANDA =====
 * Capa de respaldo para cualquier formulario institucional que viva fuera del
 * frame histórico. No modifica estructura, name/value ni comportamiento POST.
 */
body.siepp-global :where(form.siepp-form,.siepp-form-fragment).siepp-form-compact{
  width:100%;max-width:100%;min-width:0;
  --siepp-form-compact-gap:8px;
}
body.siepp-global form.siepp-form--standalone.siepp-form-compact{
  margin:6px 0 10px;padding:11px 12px;border-radius:14px;
}
body.siepp-global .siepp-form-compact .siepp-field{
  min-height:36px;margin-bottom:6px;padding:6px 9px;border-radius:9px;line-height:1.24;
}
body.siepp-global .siepp-form-compact textarea.siepp-field{min-height:72px}
body.siepp-global .siepp-form-compact :where(label,.siepp-field-label){margin-bottom:3px;line-height:1.18}
body.siepp-global .siepp-form-compact :where(.siepp-form-block,fieldset,.siepp-form-section,.siepp-form-pastel-section){
  margin-bottom:8px;padding:9px 10px;border-radius:12px;
}
body.siepp-global .siepp-form-section-grid{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:start;
}
body.siepp-global .siepp-form-section-grid>.siepp-form-section-cell{grid-column:span 4;min-width:0;margin:0;height:auto;align-self:start}
body.siepp-global .siepp-form-section-grid>.siepp-form-section-cell--wide{grid-column:span 8}
body.siepp-global .siepp-form-section-grid>.siepp-form-section-cell--full{grid-column:1/-1}
body.siepp-global .siepp-form-compact .siepp-grid-row{gap:8px;margin-bottom:8px}
body.siepp-global .siepp-form-compact table.siepp-form-table :where(td,th){padding:5px 7px;line-height:1.22}
body.siepp-global .siepp-form-pastel-section{
  border-color:var(--siepp-pastel-line,#d7e3e7);
  background:linear-gradient(145deg,rgba(255,255,255,.95),var(--siepp-pastel-bg,#f5f9fa));
}

/* Accesos que realmente disparan consultas: visibles, centrados y compactos. */
body.siepp-global .siepp-demand-card{
  margin:7px 0 9px;border-radius:13px;overflow:hidden;
  box-shadow:0 6px 18px rgba(45,72,86,.07);
}
body.siepp-global .siepp-demand-card>.siepp-accordion-trigger,
body.siepp-global .siepp-demand-card>[role="tab"]>.siepp-accordion-trigger{
  justify-content:center;text-align:center;
}
body.siepp-global .siepp-demand-card .siepp-lazy-slot{
  margin:0;min-height:58px;padding:9px 11px;border-radius:0 0 12px 12px;
}
body.siepp-global .siepp-demand-card .siepp-lazy-slot__copy{align-items:flex-start;text-align:left}

@media(max-width:991.98px){
  body.siepp-global .siepp-form-section-grid>.siepp-form-section-cell{grid-column:span 6}
  body.siepp-global .siepp-form-section-grid>.siepp-form-section-cell--wide{grid-column:1/-1}
}
@media(max-width:639.98px){
  body.siepp-global form.siepp-form--standalone.siepp-form-compact{padding:8px;margin:5px 0 8px}
  body.siepp-global .siepp-form-section-grid>.siepp-form-section-cell,
  body.siepp-global .siepp-form-section-grid>.siepp-form-section-cell--wide{grid-column:1/-1}
  body.siepp-global .siepp-form-compact :where(.siepp-form-block,fieldset,.siepp-form-section,.siepp-form-pastel-section){padding:8px;margin-bottom:7px}
}

/* SIEPP · compactación defensiva de saltos heredados en cualquier formulario normalizado. */
body.siepp-global :where(form.siepp-form,.siepp-form-fragment).siepp-form-compact br.siepp-form-spacer-redundant{display:none}
body.siepp-global :where(form.siepp-form,.siepp-form-fragment).siepp-form-compact :where(p,.siepp-help,.siepp-caption){margin-block:3px;line-height:1.22}

/* ========================================================================== 
   SIEPP · BLOQUES DE INFORMACIÓN Y JERARQUÍA VISUAL DE FORMULARIOS
   Modelo central para formularios heredados y dinámicos. Separa grupos de
   información mediante encabezados explícitos, matrices compactas y tonos
   pastel oscuros suaves. No modifica la semántica de los controles ni POST.
   ========================================================================== */
.siepp-form .siepp-info-layout,
.siepp-form-fragment .siepp-info-layout,
.siepp-info-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: .78rem;
  width: 100%;
  min-width: 0;
  margin: .25rem 0 .7rem;
}
.siepp-info-layout--single { grid-template-columns: minmax(0, 1fr); }

.siepp-info-block {
  --siepp-info-accent: #587c8b;
  --siepp-info-accent-2: #6f91a0;
  --siepp-info-soft: #f2f7f9;
  --siepp-info-border: #bfd0d7;
  --siepp-info-ink: #203842;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--siepp-info-border);
  border-radius: 14px;
  background: linear-gradient(155deg, #fff 0%, var(--siepp-info-soft) 100%);
  box-shadow: 0 5px 15px rgba(31, 55, 70, .07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.siepp-info-block:hover,
.siepp-info-block:focus-within {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--siepp-info-accent) 48%, white);
  box-shadow: 0 9px 22px rgba(31, 55, 70, .11);
}
.siepp-info-block--wide,
.siepp-info-block--full { grid-column: 1 / -1; }

.siepp-info-block__header {
  display: flex;
  align-items: center;
  gap: .58rem;
  min-height: 40px;
  padding: .58rem .78rem;
  color: #fff;
  background: linear-gradient(115deg, var(--siepp-info-accent), var(--siepp-info-accent-2));
  border-bottom: 1px solid color-mix(in srgb, var(--siepp-info-accent) 72%, #fff);
}
.siepp-info-block__marker {
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 0 0 4px rgba(255,255,255,.16);
}
.siepp-info-block__title,
.siepp-info-block__header h2,
.siepp-info-block__header h3,
.siepp-info-block__header h4,
.siepp-info-block__header h5,
.siepp-info-block__header h6 {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: var(--siepp-font-heading, "Outfit", sans-serif);
  font-size: clamp(.78rem, .72rem + .18vw, .93rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .035em;
  text-transform: uppercase;
  text-align: left;
}

.siepp-info-block__body {
  display: block;
  padding: .5rem .72rem .62rem;
}
.siepp-info-item {
  min-width: 0;
  width: 100%;
  margin: 0;
  padding: .44rem .08rem .5rem;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--siepp-info-accent) 16%, transparent);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--siepp-info-ink);
  font-size: .78rem;
  font-weight: 500;
  line-height: 1.28;
  text-align: left;
  overflow-wrap: anywhere;
}
.siepp-info-item:last-child { border-bottom: 0; }
.siepp-info-item:hover,
.siepp-info-item:focus-within {
  background: transparent;
  border-bottom-color: color-mix(in srgb, var(--siepp-info-accent) 32%, transparent);
  box-shadow: none;
}
.siepp-info-item__key {
  display: block;
  margin: 0 0 .17rem;
  color: color-mix(in srgb, var(--siepp-info-accent) 84%, #1e2d36);
  font-size: .67rem;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.siepp-info-item strong {
  color: #152c37;
  font-weight: 800;
}
.siepp-info-item--wide { grid-column: span 2; }
.siepp-info-item--full,
.siepp-info-item--note { grid-column: 1 / -1; }
.siepp-info-item--note {
  border-left: 3px solid color-mix(in srgb, var(--siepp-info-accent) 45%, white);
  background: color-mix(in srgb, var(--siepp-info-soft) 72%, transparent);
  padding-left: .45rem;
  font-size: .75rem;
}
.siepp-info-item--field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: .4rem .5rem;
}
.siepp-info-item--field > .siepp-info-item__key { grid-column: 1 / -1; }
.siepp-info-item--field input:not([type="hidden"]),
.siepp-info-item--field select,
.siepp-info-item--field textarea { min-width: 0; width: 100%; margin: 0; }
.siepp-info-item--field .siepp-field-edit,
.siepp-info-item--field button { align-self: center; margin: 0; }
.siepp-info-block__body > hr,
.siepp-info-block__body > .siepp-divider { display: none; }

/* Tonos semánticos: oscuros pero desaturados, con cuerpo pastel muy suave. */
.siepp-info-block--tone-1 { --siepp-info-accent:#4f7285; --siepp-info-accent-2:#6d91a3; --siepp-info-soft:#eef5f8; --siepp-info-border:#bdd0d9; --siepp-info-ink:#213943; }
.siepp-info-block--tone-2 { --siepp-info-accent:#4f7b73; --siepp-info-accent-2:#6f9a91; --siepp-info-soft:#eff7f4; --siepp-info-border:#bed6cf; --siepp-info-ink:#203d38; }
.siepp-info-block--tone-3 { --siepp-info-accent:#6f7651; --siepp-info-accent-2:#8f966b; --siepp-info-soft:#f5f7ee; --siepp-info-border:#d4d8bb; --siepp-info-ink:#3b4028; }
.siepp-info-block--tone-4 { --siepp-info-accent:#8a5e66; --siepp-info-accent-2:#a97981; --siepp-info-soft:#faf1f3; --siepp-info-border:#dec4c9; --siepp-info-ink:#482f34; }
.siepp-info-block--tone-5 { --siepp-info-accent:#6d6187; --siepp-info-accent-2:#8b7ca6; --siepp-info-soft:#f5f1f9; --siepp-info-border:#d3c9df; --siepp-info-ink:#382f49; }
.siepp-info-block--tone-6 { --siepp-info-accent:#7d674d; --siepp-info-accent-2:#9b8160; --siepp-info-soft:#f8f3ed; --siepp-info-border:#ddcdbb; --siepp-info-ink:#443626; }

/* Los fieldset ya semánticos adoptan la misma jerarquía sin reestructuración. */
.siepp-form fieldset.siepp-form-block {
  border-width: 1px;
  box-shadow: 0 5px 14px rgba(31,55,70,.065);
}
.siepp-form fieldset.siepp-form-block > legend {
  border-radius: 9px;
  padding: .34rem .62rem;
  font-weight: 800;
  letter-spacing: .025em;
}

/* Filas informativas heredadas: texto plano dentro del bloque macro. */
.siepp-form .siepp-detail-row:not(.siepp-info-item),
.siepp-form-fragment .siepp-detail-row:not(.siepp-info-item) {
  margin: 0;
  padding: .4rem .08rem;
  border: 0;
  border-bottom: 1px solid rgba(90,112,125,.14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  line-height: 1.28;
}

@media (max-width: 980px) {
  .siepp-form .siepp-info-layout,
  .siepp-form-fragment .siepp-info-layout,
  .siepp-info-layout { grid-template-columns: minmax(0, 1fr); }
  .siepp-info-block--wide,
  .siepp-info-block--full { grid-column: auto; }
}
@media (max-width: 640px) {
  .siepp-info-block { border-radius: 12px; }
  .siepp-info-block__header { padding: .52rem .62rem; min-height: 38px; }
  .siepp-info-block__body { padding: .45rem .58rem .55rem; }
  .siepp-info-item--wide,
  .siepp-info-item--full,
  .siepp-info-item--note { grid-column: auto; }
  .siepp-info-item { padding: .42rem .06rem .46rem; font-size: .79rem; }
  .siepp-info-item--field { grid-template-columns: minmax(0, 1fr); }
  .siepp-info-item--field > .siepp-info-item__key { grid-column: auto; }
  .siepp-info-item--field .siepp-field-edit,
  .siepp-info-item--field button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .siepp-info-block { transition: none; }
}

.siepp-info-item__value {
  display: block;
  min-width: 0;
  color: #162f3a;
  font-weight: 700;
  line-height: 1.28;
}
.siepp-status-pill {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  gap: .28rem;
  margin-top: .05rem;
  padding: .18rem .43rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.siepp-status-pill::before {
  content: "";
  width: .42rem;
  height: .42rem;
  flex: 0 0 .42rem;
  border-radius: 999px;
  background: currentColor;
  opacity: .78;
}
.siepp-status-pill--ok { color:#2f6653; background:#e8f4ed; border-color:#bddacb; }
.siepp-status-pill--danger { color:#874953; background:#f9ecef; border-color:#e6c2c9; }
.siepp-status-pill--neutral { color:#6f6544; background:#f6f2e5; border-color:#ded4b3; }

/* Preguntas/enunciados antiguos encapsulados en .siepp-form-step. */
.siepp-form .siepp-form-step,
.siepp-form-fragment .siepp-form-step {
  --siepp-step-accent:#587b89;
  --siepp-step-soft:#edf5f7;
  margin: .42rem 0 .32rem;
  padding: .5rem .64rem;
  border: 1px solid color-mix(in srgb, var(--siepp-step-accent) 35%, white);
  border-left: 4px solid var(--siepp-step-accent);
  border-radius: 10px;
  background: linear-gradient(105deg, color-mix(in srgb, var(--siepp-step-soft) 90%, white), #fff);
  box-shadow: 0 3px 9px rgba(31,55,70,.045);
  color: #263c46;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.siepp-form .siepp-form-step:hover,
.siepp-form-fragment .siepp-form-step:hover { transform: translateY(-1px); box-shadow:0 5px 12px rgba(31,55,70,.07); }
.siepp-form .siepp-form-step h2,
.siepp-form .siepp-form-step h3,
.siepp-form .siepp-form-step h4,
.siepp-form .siepp-form-step h5,
.siepp-form .siepp-form-step h6,
.siepp-form-fragment .siepp-form-step h2,
.siepp-form-fragment .siepp-form-step h3,
.siepp-form-fragment .siepp-form-step h4,
.siepp-form-fragment .siepp-form-step h5,
.siepp-form-fragment .siepp-form-step h6 {
  margin:0;
  color:color-mix(in srgb, var(--siepp-step-accent) 88%, #1b2b32);
  font-size:.79rem;
  font-weight:800;
  line-height:1.22;
  letter-spacing:.01em;
}
.siepp-form-step--tone-1{--siepp-step-accent:#56788a;--siepp-step-soft:#edf5f8}
.siepp-form-step--tone-2{--siepp-step-accent:#527a70;--siepp-step-soft:#eef7f3}
.siepp-form-step--tone-3{--siepp-step-accent:#737953;--siepp-step-soft:#f4f6ed}
.siepp-form-step--tone-4{--siepp-step-accent:#8a6068;--siepp-step-soft:#faf0f2}
.siepp-form-step--tone-5{--siepp-step-accent:#70648a;--siepp-step-soft:#f4f1f8}
.siepp-form-step--tone-6{--siepp-step-accent:#80694f;--siepp-step-soft:#f8f3ec}

/* Tablas informativas históricas que acompañan formularios/consultas. */
.siepp-data-table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #cedce2;
  border-radius:11px;
  background:#fff;
  font-size:.76rem;
  line-height:1.3;
}
.siepp-data-table th { padding:.48rem .55rem; background:#526f7e; color:#fff; font-weight:800; text-align:left; }
.siepp-data-table td { padding:.44rem .55rem; border-top:1px solid #e3ecef; color:#263d48; vertical-align:top; }
.siepp-data-table tbody tr:nth-child(even) td { background:#f5f9fa; }
.siepp-data-table tbody tr:hover td { background:#edf5f7; }
@media(max-width:700px){.siepp-data-table{font-size:.72rem}.siepp-data-table th,.siepp-data-table td{padding:.4rem .44rem}}

/* ========================================================================== 
   SIEPP · BLOQUES DE FORMULARIO GARANTIZADOS
   Refuerza el resultado del normalizador estructural: paneles claramente
   separados, encabezados pastel oscuros y matrices internas compactas.
   ========================================================================== */
body.siepp-global .siepp-app-main__frame form.siepp-form .siepp-info-layout{
  gap:12px;
  margin:8px 0 12px;
}
body.siepp-global .siepp-app-main__frame form.siepp-form .siepp-info-block{
  border-width:1px;
  box-shadow:0 7px 18px rgba(32,55,68,.09);
}
body.siepp-global .siepp-app-main__frame form.siepp-form .siepp-info-block__header{
  min-height:42px;
  padding:9px 12px;
}
body.siepp-global .siepp-app-main__frame form.siepp-form .siepp-info-block__body{
  gap:7px;
  padding:8px;
}
body.siepp-global .siepp-app-main__frame form.siepp-form .siepp-info-item{
  min-height:46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.siepp-global .siepp-app-main__frame form.siepp-form .siepp-info-item--field{
  display:grid;
}
body.siepp-global .siepp-app-main__frame .siepp-panel>h5:first-child{
  position:relative;
  margin:0 0 10px;
  padding:8px 12px;
  border-radius:10px;
  color:#314d5b;
  background:linear-gradient(135deg,#edf6f8,#f6f1f6);
  border:1px solid #d5e3e7;
  text-align:left;
  letter-spacing:.035em;
}
@media (max-width:760px){
  body.siepp-global .siepp-app-main__frame form.siepp-form .siepp-info-block__body{grid-template-columns:1fr}
  body.siepp-global .siepp-app-main__frame form.siepp-form .siepp-info-item{min-height:auto}
}

/* ========================================================================== 
   SIEPP · BLOQUES LIMPIOS SIN MINI-TARJETAS + MATRICES SIN HUECOS
   - Solo el bloque/sección principal conserva recuadro y tono pastel.
   - Datos internos se leen como matriz limpia con separadores sutiles.
   - Inputs editables reciben ancho real y no quedan comprimidos.
   - hr/br/nodos vacíos no pueden reservar celdas de grilla.
   Aplica a formularios completos, fragmentos AJAX y paneles históricos.
   ========================================================================== */
body.siepp-global :where(form.siepp-form,.siepp-form-fragment) .siepp-info-layout,
body.siepp-global .siepp-info-layout{
  grid-auto-flow:row dense;
  align-items:start;
  gap:10px;
}
body.siepp-global .siepp-info-layout>:where(hr,br,.siepp-divider){display:none}
body.siepp-global .siepp-info-layout>.siepp-info-block--balance-last{grid-column:1/-1}

/* El recuadro pertenece a la SECCIÓN, no a cada dato. */
body.siepp-global :where(form.siepp-form,.siepp-form-fragment) .siepp-info-item,
body.siepp-global .siepp-info-item{
  min-height:0;
  margin:0;
  padding:7px 3px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--siepp-info-accent,#587c8b) 16%,transparent);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  color:var(--siepp-info-ink,#203842);
  line-height:1.28;
}
body.siepp-global .siepp-info-item:hover,
body.siepp-global .siepp-info-item:focus-within{
  border-bottom-color:color-mix(in srgb,var(--siepp-info-accent,#587c8b) 34%,transparent);
  background:transparent;
  box-shadow:none;
  transform:none;
}
body.siepp-global .siepp-info-item__key{
  margin:0 0 2px;
  color:color-mix(in srgb,var(--siepp-info-accent,#587c8b) 84%,#22343d);
  font-size:.67rem;
  font-weight:800;
  line-height:1.12;
  letter-spacing:.035em;
}
body.siepp-global .siepp-info-item__value{
  color:#1e3742;
  font-size:.78rem;
  font-weight:700;
  line-height:1.26;
}
body.siepp-global .siepp-info-item--note{
  border:0;
  border-left:3px solid color-mix(in srgb,var(--siepp-info-accent,#587c8b) 55%,white);
  border-radius:0;
  background:color-mix(in srgb,var(--siepp-info-soft,#f2f7f9) 72%,transparent);
  padding:6px 8px;
}

/* Filas históricas: línea limpia, no tarjeta dentro de tarjeta. */
body.siepp-global :where(form.siepp-form,.siepp-form-fragment) .siepp-detail-row,
body.siepp-global .siepp-workflow-section .siepp-detail-row{
  margin:0;
  padding:6px 2px;
  border:0;
  border-bottom:1px solid rgba(73,103,118,.13);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  line-height:1.26;
}

/* Matrices de etiqueta/valor: se mantienen compactas, sin cajitas internas. */
body.siepp-global .siepp-fact-item:hover{
  border-bottom-color:rgba(73,103,118,.25);
  background:transparent;
  transform:none;
}
body.siepp-global .siepp-fact-item__label{
  color:#4a6571;
  font-weight:800;
}
body.siepp-global .siepp-fact-item__value{
  color:#203b47;
  font-weight:700;
}

/* Las secciones principales sí se diferencian por pastel y jerarquía. */
body.siepp-global .siepp-workflow-section{
  --siepp-workflow-accent:#587c8b;
  --siepp-workflow-soft:#f0f6f8;
  --siepp-workflow-border:#c7d8df;
  border:1px solid var(--siepp-workflow-border);
  border-radius:13px;
  background:linear-gradient(150deg,#fff 0%,var(--siepp-workflow-soft) 100%);
  box-shadow:0 5px 14px rgba(38,64,76,.055);
}
body.siepp-global .siepp-workflow-section--tone-1{--siepp-workflow-accent:#56798a;--siepp-workflow-soft:#eef6f8;--siepp-workflow-border:#c9dce3}
body.siepp-global .siepp-workflow-section--tone-2{--siepp-workflow-accent:#587d74;--siepp-workflow-soft:#eff7f4;--siepp-workflow-border:#cadfd8}
body.siepp-global .siepp-workflow-section--tone-3{--siepp-workflow-accent:#7b7755;--siepp-workflow-soft:#f7f6ee;--siepp-workflow-border:#dedabb}
body.siepp-global .siepp-workflow-section--tone-4{--siepp-workflow-accent:#8b626a;--siepp-workflow-soft:#faf1f3;--siepp-workflow-border:#e2cbd0}
body.siepp-global .siepp-workflow-section--tone-5{--siepp-workflow-accent:#70658b;--siepp-workflow-soft:#f5f2f9;--siepp-workflow-border:#d7cee3}
body.siepp-global .siepp-workflow-section--tone-6{--siepp-workflow-accent:#816c51;--siepp-workflow-soft:#f8f4ee;--siepp-workflow-border:#e0d1bf}
body.siepp-global .siepp-workflow-section>.siepp-workflow-heading{
  color:color-mix(in srgb,var(--siepp-workflow-accent) 92%,#1c2f38);
  border-color:color-mix(in srgb,var(--siepp-workflow-accent) 24%,white);
  background:color-mix(in srgb,var(--siepp-workflow-soft) 88%,white);
}

/* Inputs genéricos nunca deben heredar el tamaño de una celda informativa. */
body.siepp-global :where(form.siepp-form,.siepp-form-fragment) :where(input.siepp-field,select.siepp-field,textarea.siepp-field){
  min-width:0;
  width:100%;
  font-size:.8rem;
}

@media(max-width:980px){
  body.siepp-global .siepp-info-item--field{grid-column:1/-1}
}
@media(max-width:640px){
  body.siepp-global .siepp-info-layout{grid-template-columns:1fr}
  body.siepp-global .siepp-info-block--balance-last{grid-column:auto}
  body.siepp-global .siepp-info-item--field{
    grid-column:span 2;
    grid-template-columns:1fr auto;
  }
  body.siepp-global .siepp-info-item--field>.siepp-info-item__key{grid-column:1/-1}
  body.siepp-global .siepp-info-item--field :where(input,select,textarea){grid-column:1/2}
  body.siepp-global .siepp-info-item--field :where(button,.siepp-field-edit){grid-column:2/3}
}
/* no estirar celdas/filas para igualar alturas: evita espacios blancos. */
body.siepp-global .siepp-workflow-matrix .siepp-workflow-section{height:auto;align-self:start}
body.siepp-global .siepp-workflow-matrix>.siepp-workflow-matrix__cell{align-self:start}

/* ========================================================================== 
   SIEPP · FORMULARIOS VERTICALES LIMPIOS + PASTEL MACRO GLOBAL
   - El color vive únicamente en la sección macro.
   - Dentro de cada sección, los campos se presentan uno debajo del otro.
   - Sin mini tarjetas ni matrices horizontales de datos internos.
   - Etiqueta pequeña/cursiva/acento; valor legible y jerárquico debajo.
   - Se aplica a formularios, fragmentos AJAX y bloques informativos normalizados.
   ========================================================================== */

/* Bloques macro de información: pueden convivir horizontalmente, pero su contenido
   interno siempre fluye verticalmente. */
body.siepp-global .siepp-info-block__body{
  display:block;
  grid-auto-flow:row dense;
  grid-template-columns:none;
  padding:7px 12px 10px;
}
body.siepp-global .siepp-info-block__body>.siepp-info-item{
  display:block;
  width:100%;
  max-width:none;
  grid-column:auto;
  min-width:0;
  padding:7px 1px 8px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--siepp-info-accent,#587c8b) 16%,transparent);
  background:transparent;
}
body.siepp-global .siepp-info-block__body>.siepp-info-item:last-child{
  border-bottom:0;
}

/* Etiqueta: pequeña, cursiva y con el color del bloque. */
body.siepp-global :where(.siepp-info-item__key,.siepp-fact-item__label){
  display:block;
  margin:0 0 2px;
  font-family:"Lato",Arial,sans-serif;
  font-size:.66rem;
  font-weight:800;
  font-style:italic;
  line-height:1.14;
  letter-spacing:.025em;
  text-transform:none;
  color:color-mix(in srgb,var(--siepp-info-accent,var(--siepp-workflow-accent,#587c8b)) 88%,#263a44);
}
/* Valor: debajo, limpio y con mayor jerarquía. */
body.siepp-global :where(.siepp-info-item__value,.siepp-fact-item__value){
  display:block;
  margin:0;
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:.79rem;
  font-weight:650;
  font-style:normal;
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
  color:#203842;
  overflow-wrap:anywhere;
}

/* Campos editables: etiqueta arriba; control + acción debajo. */
body.siepp-global .siepp-info-item--field{
  display:grid;
  grid-column:span 2;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:5px 8px;
  width:100%;
  padding:7px 1px 8px;
}
body.siepp-global .siepp-info-item--field>.siepp-info-item__key{
  grid-column:1/-1;
  margin:0;
}
body.siepp-global .siepp-info-item--field :where(input:not([type="hidden"]),select,textarea){
  grid-column:1/2;
  min-height:36px;
  padding:7px 9px;
  font-size:.79rem;
  line-height:1.2;
  width:100%;
  min-width:0;
  margin:0;
}
body.siepp-global .siepp-info-item--field :where(button,.siepp-field-edit){
  grid-column:2/3;
  min-height:34px;
  white-space:nowrap;
  align-self:center;
  margin:0;
}

/* Las matrices históricas de hechos también pasan a lista vertical, evitando la
   fragmentación horizontal que se veía en formularios antiguos. */
body.siepp-global .siepp-fact-grid{
  display:block;
  align-items:start;
  grid-template-columns:none;
  gap:0;
}
body.siepp-global .siepp-fact-item{
  display:block;
  min-height:0;
  margin:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  width:100%;
  padding:6px 1px 7px;
  border:0;
  border-bottom:1px solid rgba(73,103,118,.13);
}
body.siepp-global .siepp-fact-item:last-child{border-bottom:0}

/* Pastel global: SOLO el contenedor macro. El cuerpo interior queda limpio. */
body.siepp-global :where(form.siepp-form,.siepp-form-fragment) .siepp-form-pastel-section,
body.siepp-global .siepp-form-pastel-section{
  position:relative;
  overflow:hidden;
  border:1px solid var(--siepp-pastel-line,#cbdde3);
  border-radius:13px;
  background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--siepp-pastel-bg,#eef6f8) 82%,white) 100%);
  box-shadow:0 4px 13px color-mix(in srgb,var(--siepp-pastel-accent,#5c8999) 8%,transparent);
}
body.siepp-global .siepp-form-pastel-heading{
  display:flex;
  align-items:center;
  gap:7px;
  margin:-9px -10px 8px;
  padding:8px 10px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--siepp-pastel-accent,#5c8999) 24%,white);
  border-radius:12px 12px 0 0;
  background:color-mix(in srgb,var(--siepp-pastel-accent,#5c8999) 17%,white);
  color:color-mix(in srgb,var(--siepp-pastel-accent,#5c8999) 88%,#20323c);
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:.78rem;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.02em;
}

/* Colores algo más perceptibles, pero todavía sobrios/pastel. */
body.siepp-global .siepp-form-pastel--1{--siepp-pastel-bg:#eaf4f7;--siepp-pastel-line:#bdd3dc;--siepp-pastel-accent:#567d8d;--siepp-block-accent:#567d8d}
body.siepp-global .siepp-form-pastel--2{--siepp-pastel-bg:#ebf5f1;--siepp-pastel-line:#bfd8cf;--siepp-pastel-accent:#5d8278;--siepp-block-accent:#5d8278}
body.siepp-global .siepp-form-pastel--3{--siepp-pastel-bg:#f5f3e8;--siepp-pastel-line:#d8d2b2;--siepp-pastel-accent:#807c55;--siepp-block-accent:#807c55}
body.siepp-global .siepp-form-pastel--4{--siepp-pastel-bg:#f8edef;--siepp-pastel-line:#dec2c8;--siepp-pastel-accent:#8d626b;--siepp-block-accent:#8d626b}
body.siepp-global .siepp-form-pastel--5{--siepp-pastel-bg:#f1edf7;--siepp-pastel-line:#d0c4de;--siepp-pastel-accent:#71638d;--siepp-block-accent:#71638d}
body.siepp-global .siepp-form-pastel--6{--siepp-pastel-bg:#f6f0e8;--siepp-pastel-line:#ddcbb5;--siepp-pastel-accent:#846b4e;--siepp-block-accent:#846b4e}

body.siepp-global .siepp-form-pastel-section:focus-within{
  border-color:color-mix(in srgb,var(--siepp-pastel-accent,#5c8999) 48%,var(--siepp-pastel-line,#cbdde3));
  box-shadow:0 8px 20px color-mix(in srgb,var(--siepp-pastel-accent,#5c8999) 10%,transparent);
}

/* Un solo propietario visual por bloque: las capas internas son estructurales,
   no vuelven a dibujar borde, fondo, sombra ni padding. */
body.siepp-global .siepp-structural-section,
body.siepp-global .siepp-global-section .siepp-structural-section,
body.siepp-global .siepp-global-form-integrated,
body.siepp-global .siepp-global-section form.siepp-form,
body.siepp-global .siepp-content-box > form.siepp-form,
body.siepp-global .siepp-panel > form.siepp-form{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
body.siepp-global .siepp-structural-section__heading{
  margin:8px 0 7px;
  padding:5px 0 6px;
  border:0;
  border-bottom:1px solid rgba(70,103,117,.16);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#496a78;
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:.76rem;
  font-weight:800;
}
body.siepp-global .siepp-global-section .siepp-info-block,
body.siepp-global .siepp-content-box .siepp-info-block,
body.siepp-global .siepp-panel .siepp-info-block{
  margin:6px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
body.siepp-global .siepp-global-section .siepp-info-block__header,
body.siepp-global .siepp-content-box .siepp-info-block__header,
body.siepp-global .siepp-panel .siepp-info-block__header{
  min-height:0;
  margin:0 0 6px;
  padding:5px 0 6px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--siepp-info-accent,#567d8d) 22%,transparent);
  border-radius:0;
  background:transparent;
  color:var(--siepp-info-accent,#567d8d);
}
body.siepp-global .siepp-global-section .siepp-info-block__body,
body.siepp-global .siepp-content-box .siepp-info-block__body,
body.siepp-global .siepp-panel .siepp-info-block__body{
  padding:0;
  background:transparent;
}
body.siepp-global .siepp-global-section .siepp-form-pastel-section,
body.siepp-global .siepp-content-box .siepp-form-pastel-section,
body.siepp-global .siepp-panel .siepp-form-pastel-section{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
body.siepp-global .siepp-global-section .siepp-form-pastel-heading,
body.siepp-global .siepp-content-box .siepp-form-pastel-heading,
body.siepp-global .siepp-panel .siepp-form-pastel-heading{
  margin:7px 0;
  padding:5px 0 6px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--siepp-pastel-accent,#567d8d) 20%,transparent);
  border-radius:0;
  background:transparent;
}

/* Un formulario completo nunca queda totalmente plano aunque su HTML histórico no
   tenga fieldset/panel interno reconocible. */
body.siepp-global form.siepp-form.siepp-form--standalone.siepp-form-ready:not(:has(.siepp-form-pastel-section)):not(:has(.siepp-info-block)){
  border:1px solid #cbdde3;
  background:linear-gradient(145deg,#fff,#f1f7f9);
  box-shadow:0 5px 14px rgba(44,73,87,.06);
}

/* En móvil se mantiene el mismo orden vertical; el botón de edición baja solo si
   el ancho es insuficiente. */
@media(max-width:640px){
  body.siepp-global .siepp-info-block__body{padding:6px 9px 8px}
  body.siepp-global :where(.siepp-info-item__key,.siepp-fact-item__label){font-size:.64rem}
  body.siepp-global :where(.siepp-info-item__value,.siepp-fact-item__value){font-size:.77rem}
}
@media(max-width:420px){
  body.siepp-global .siepp-info-item--field{display:block}
  body.siepp-global .siepp-info-item--field :where(button,.siepp-field-edit){width:100%;margin-top:5px}
}


/* ========================================================================== 
   SIEPP · COBERTURA GLOBAL REAL: FORMULARIOS + PANELES INFORMATIVOS + AJAX
   - La paleta ya no depende de que exista <form>.
   - Paneles nominales, servicios web, cuerpos lazy y fragmentos históricos
     reciben el mismo bloque macro pastel.
   - Datos internos se leen SIEMPRE en vertical, sin mini-celdas horizontales.
   ========================================================================== */
body.siepp-global .siepp-global-section{
  --siepp-global-accent:#587c8b;
  --siepp-global-soft:#eef6f8;
  --siepp-global-border:#c7dbe2;
  position:relative;
  align-self:start;
  height:auto;
  min-height:0;
  border:1px solid var(--siepp-global-border);
  border-radius:14px;
  background:linear-gradient(150deg,#fff 0%,var(--siepp-global-soft) 100%);
  box-shadow:0 5px 15px color-mix(in srgb,var(--siepp-global-accent) 8%,transparent);
  overflow:hidden;
}
body.siepp-global .siepp-global-section--tone-1{--siepp-global-accent:#52798a;--siepp-global-soft:#edf6f8;--siepp-global-border:#c5dbe3}
body.siepp-global .siepp-global-section--tone-2{--siepp-global-accent:#557e74;--siepp-global-soft:#eef7f3;--siepp-global-border:#c6ddd5}
body.siepp-global .siepp-global-section--tone-3{--siepp-global-accent:#7c7752;--siepp-global-soft:#f7f6ec;--siepp-global-border:#ddd9b7}
body.siepp-global .siepp-global-section--tone-4{--siepp-global-accent:#895e68;--siepp-global-soft:#faf0f3;--siepp-global-border:#dfc6cc}
body.siepp-global .siepp-global-section--tone-5{--siepp-global-accent:#6e6289;--siepp-global-soft:#f4f1f9;--siepp-global-border:#d4cae1}
body.siepp-global .siepp-global-section--tone-6{--siepp-global-accent:#80684d;--siepp-global-soft:#f8f3ec;--siepp-global-border:#dfcfbb}

body.siepp-global .siepp-global-section__heading{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  width:100%;
  margin:0 0 9px;
  padding:9px 11px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--siepp-global-accent) 28%,white);
  background:color-mix(in srgb,var(--siepp-global-accent) 16%,white);
  color:color-mix(in srgb,var(--siepp-global-accent) 92%,#1c3039);
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:.82rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.015em;
}
body.siepp-global .siepp-global-section__heading .siepp-section-icon{
  width:34px;height:34px;object-fit:contain;flex:0 0 auto;
}

/* Todo formulario normalizado posee una superficie pastel de respaldo. */
body.siepp-global form.siepp-form.siepp-global-form-surface:not(.siepp-global-form-integrated){
  --siepp-global-form-accent:#567d8d;
  --siepp-global-form-soft:#eef6f8;
  --siepp-global-form-border:#c5d9e0;
  border-color:var(--siepp-global-form-border);
  background:linear-gradient(150deg,#fff 0%,var(--siepp-global-form-soft) 100%);
}
body.siepp-global form.siepp-global-form--tone-1{--siepp-global-form-accent:#52798a;--siepp-global-form-soft:#edf6f8;--siepp-global-form-border:#c5dbe3}
body.siepp-global form.siepp-global-form--tone-2{--siepp-global-form-accent:#557e74;--siepp-global-form-soft:#eef7f3;--siepp-global-form-border:#c6ddd5}
body.siepp-global form.siepp-global-form--tone-3{--siepp-global-form-accent:#7c7752;--siepp-global-form-soft:#f7f6ec;--siepp-global-form-border:#ddd9b7}
body.siepp-global form.siepp-global-form--tone-4{--siepp-global-form-accent:#895e68;--siepp-global-form-soft:#faf0f3;--siepp-global-form-border:#dfc6cc}
body.siepp-global form.siepp-global-form--tone-5{--siepp-global-form-accent:#6e6289;--siepp-global-form-soft:#f4f1f9;--siepp-global-form-border:#d4cae1}
body.siepp-global form.siepp-global-form--tone-6{--siepp-global-form-accent:#80684d;--siepp-global-form-soft:#f8f3ec;--siepp-global-form-border:#dfcfbb}

/* Datos PHP heredados: lista vertical de etiqueta / valor. */
body.siepp-global .siepp-data-list{
  display:block;
  width:100%;
  margin:4px 0 0;
  padding:0 10px 8px;
}
body.siepp-global .siepp-data-row{
  display:block;
  width:100%;
  margin:0;
  padding:6px 1px 7px;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--siepp-global-accent,#587c8b) 16%,transparent);
  background:transparent;
}
body.siepp-global .siepp-data-row:last-child{border-bottom:0}
body.siepp-global .siepp-data-row__label{
  display:block;
  margin:0 0 2px;
  color:color-mix(in srgb,var(--siepp-global-accent,#587c8b) 88%,#263a44);
  font-family:"Lato",Arial,sans-serif;
  font-size:.67rem;
  font-weight:800;
  font-style:italic;
  line-height:1.12;
  letter-spacing:.025em;
}
body.siepp-global .siepp-data-row__value{
  display:block;
  min-width:0;
  margin:0;
  color:#203842;
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:.8rem;
  font-weight:650;
  font-style:normal;
  line-height:1.25;
  overflow-wrap:anywhere;
}
body.siepp-global .siepp-data-list__subheading{
  display:block;
  margin:7px 0 2px;
  padding:5px 8px;
  border-radius:8px;
  background:color-mix(in srgb,var(--siepp-global-accent,#587c8b) 12%,white);
  color:color-mix(in srgb,var(--siepp-global-accent,#587c8b) 90%,#263a44);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:uppercase;
}
body.siepp-global .siepp-data-list__note{
  display:block;
  margin:4px 0;
  padding:6px 8px;
  border-left:3px solid color-mix(in srgb,var(--siepp-global-accent,#587c8b) 45%,white);
  background:color-mix(in srgb,var(--siepp-global-soft,#eef6f8) 70%,white);
  color:#314b56;
  font-size:.76rem;
  line-height:1.3;
}

/* Los cuerpos lazy no introducen una segunda tarjeta interna. */
body.siepp-global .siepp-global-section .siepp-card,
body.siepp-global .siepp-global-section .siepp-card__body,
body.siepp-global .siepp-global-section .siepp-info-panel{
  height:auto;
  min-height:0;
}
body.siepp-global .siepp-global-section .siepp-info-panel{
  background:transparent;
  border:0;
  box-shadow:none;
}

/* La grilla de paneles nunca estira tarjetas para igualar alturas. */
body.siepp-global .siepp-panel-grid{
  align-items:start;
  grid-auto-flow:row dense;
}
body.siepp-global .siepp-panel-grid>.siepp-panel{
  align-self:start;
  height:auto;
  min-height:0;
}

@media(max-width:640px){
  body.siepp-global .siepp-global-section__heading{font-size:.76rem;padding:8px 9px}
  body.siepp-global .siepp-data-list{padding:0 8px 7px}
  body.siepp-global .siepp-data-row__label{font-size:.64rem}
  body.siepp-global .siepp-data-row__value{font-size:.77rem}
}


/* ===== SIEPP · ESPACIADO GLOBAL, PREGUNTAS DESTACADAS Y BOTONES MÁS CLAROS ===== */
body.siepp-global .siepp-app-main__frame>.siepp-container,
body.siepp-global .siepp-app-main__frame .siepp-page-section>.siepp-container,
body.siepp-global .siepp-page-main .siepp-container{
  padding-left:clamp(10px,2vw,24px);
  padding-right:clamp(10px,2vw,24px);
}
body.siepp-global .siepp-app-main__frame .siepp-panel,
body.siepp-global .siepp-app-main__frame .siepp-card,
body.siepp-global .siepp-app-main__frame .siepp-form-card{
  padding:clamp(18px,2vw,24px);
}
body.siepp-global .siepp-app-main__frame .siepp-form-section,
body.siepp-global .siepp-app-main__frame .siepp-collapse>.siepp-card__body,
body.siepp-global .siepp-app-main__frame .siepp-collapse .siepp-card__body,
body.siepp-global .siepp-app-main__frame .siepp-content-box,
body.siepp-global .siepp-app-main__frame .siepp-global-form-surface{
  padding:clamp(14px,1.8vw,20px);
}
body.siepp-global .siepp-app-main__frame .siepp-panel > .siepp-align-left,
body.siepp-global .siepp-app-main__frame .siepp-panel > .siepp-align-center,
body.siepp-global .siepp-app-main__frame .siepp-panel > .siepp-align-right,
body.siepp-global .siepp-app-main__frame .siepp-panel > .siepp-card__body,
body.siepp-global .siepp-app-main__frame .siepp-form > .siepp-align-left,
body.siepp-global .siepp-app-main__frame .siepp-form > .siepp-align-center,
body.siepp-global .siepp-app-main__frame .siepp-form > .siepp-align-right{
  padding-left:2px;
  padding-right:2px;
}
body.siepp-global .siepp-app-main__frame form,
body.siepp-global .siepp-app-main__frame .siepp-form,
body.siepp-global .siepp-app-main__frame .siepp-form-fragment{
  width:100%;
}
body.siepp-global .siepp-app-main__frame .siepp-form :is(label,.siepp-field-label,legend,.form-label),
body.siepp-global .siepp-app-main__frame .siepp-form-fragment :is(label,.siepp-field-label,legend,.form-label),
body.siepp-global .siepp-app-main__frame .siepp-form-question{
  display:block;
  margin:0 0 8px;
  color:#5c4664;
  font:800 13px/1.45 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.01em;
}

body.siepp-global .siepp-app-main__frame .siepp-form-question strong,
body.siepp-global .siepp-app-main__frame .siepp-form-question b,
body.siepp-global .siepp-app-main__frame .siepp-form :is(label,.siepp-field-label,legend,.form-label) strong{
  color:#456c7b;
  font-style:italic;
  font-weight:800;
}
body.siepp-global .siepp-app-main__frame .siepp-form-question + :is(select,textarea,input:not([type="hidden"])),
body.siepp-global .siepp-app-main__frame .siepp-form :is(label,.siepp-field-label,legend,.form-label) + :is(select,textarea,input:not([type="hidden"])){
  margin-top:2px;
}
body.siepp-global .siepp-app-main__frame :is(select,textarea,input[type="text"],input[type="email"],input[type="number"],input[type="date"],input[type="tel"],input[type="password"],input[type="search"],input[type="url"],input[type="file"]){
  margin:0 0 14px;
}
body.siepp-global .siepp-app-main__frame .siepp-btn,
body.siepp-global .siepp-app-main__frame input[type="submit"],
body.siepp-global .siepp-app-main__frame input[type="button"],
body.siepp-global .siepp-app-main__frame input[type="reset"],
body.siepp-global .siepp-app-main__frame button:not(.siepp-captcha-refresh){
  min-height:42px;
  padding:11px 18px;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  white-space:normal;
  line-height:1.3;
}
body.siepp-global .siepp-app-main__frame .siepp-btn--block,
body.siepp-global .siepp-app-main__frame .siepp-access-action{
  width:min(100%,760px);
  margin-left:auto;
  margin-right:auto;
}
body.siepp-global .siepp-app-main__frame .siepp-access-card{
  display:grid;
  grid-template-columns:1fr;
  justify-items:start;
  align-content:center;
  gap:5px;
  min-height:74px;
  padding:14px 16px;
  text-align:left;
}


body.siepp-global .siepp-app-main__frame .siepp-access-card__meta-item{
  display:inline-flex;
  flex-wrap:wrap;
  gap:4px;
  color:rgba(255,255,255,.96);
  font:700 11px/1.35 "Lato",Arial,sans-serif;
}
body.siepp-global .siepp-app-main__frame .siepp-access-card__meta-label{
  opacity:.82;
  text-transform:uppercase;
  letter-spacing:.03em;
}
body.siepp-global .siepp-app-main__frame .siepp-access-card__meta-value{
  font-weight:800;
}
@media(max-width:767.98px){
  body.siepp-global .siepp-app-main__frame .siepp-panel,
  body.siepp-global .siepp-app-main__frame .siepp-card,
  body.siepp-global .siepp-app-main__frame .siepp-form-card{padding:16px}
  body.siepp-global .siepp-app-main__frame .siepp-form-section,
  body.siepp-global .siepp-app-main__frame .siepp-collapse>.siepp-card__body,
  body.siepp-global .siepp-app-main__frame .siepp-collapse .siepp-card__body,
  body.siepp-global .siepp-app-main__frame .siepp-content-box,
  body.siepp-global .siepp-app-main__frame .siepp-global-form-surface{padding:13px}
  body.siepp-global .siepp-app-main__frame .siepp-form-question,
  body.siepp-global .siepp-app-main__frame .siepp-form :is(label,.siepp-field-label,legend,.form-label){font-size:12.5px}
  body.siepp-global .siepp-app-main__frame .siepp-access-card{min-height:68px;padding:13px 14px}
}


/* ===== UN SOLO MARCO VISUAL EN ACORDEONES Y BLOQUES LAZY ===== */
body.siepp-global .siepp-inner-shell,
body.siepp-global .siepp-panel .siepp-inner-shell,
body.siepp-global .siepp-content-box .siepp-inner-shell,
body.siepp-global .siepp-form-card .siepp-inner-shell{
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
body.siepp-global .siepp-inner-shell__header,
body.siepp-global .siepp-inner-shell > .siepp-card__header{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-accordion-owner{
  padding:12px;
  overflow:visible;
}
body.siepp-global .siepp-accordion-owner > [role="tab"],
body.siepp-global .siepp-accordion-owner .siepp-inner-shell > [role="tab"]{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
body.siepp-global .siepp-accordion-owner .siepp-accordion-trigger{
  margin:0;
  border-radius:10px;
}
body.siepp-global .siepp-accordion-owner .siepp-collapse > .siepp-card__body,
body.siepp-global .siepp-accordion-owner .siepp-collapse .siepp-card__body,
body.siepp-global .siepp-accordion-owner .siepp-info-panel{
  margin:8px 0 0;
  padding:10px 0 0;
  border:0;
  border-top:1px solid rgba(73,106,120,.14);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-panel.siepp-demand-card{
  margin:0;
  overflow:visible;
}
body.siepp-global .siepp-accordion-owner .siepp-lazy-slot{
  margin:8px 0 0;
  padding:10px 0;
  border:0;
  border-top:1px dashed rgba(73,106,120,.18);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-content-stack > .siepp-content-stack{
  display:contents;
}


/* ===== CONTRASTE, SELECCIÓN VISUAL Y USO EFICIENTE DEL ESPACIO ===== */
/* Los encabezados internos neutralizados por la limpieza estructural ya no
   conservan texto blanco sobre fondos transparentes. */
body.siepp-global :where(.siepp-global-section,.siepp-panel,.siepp-content-box,.siepp-form-card)
  .siepp-info-block__header{
  color:var(--siepp-info-accent,#567d8d);
}
body.siepp-global :where(.siepp-global-section,.siepp-panel,.siepp-content-box,.siepp-form-card)
  .siepp-info-block__header :where(h1,h2,h3,h4,h5,h6,span,strong,small,b,em){
  color:var(--siepp-info-accent,#567d8d);
  -webkit-text-fill-color:var(--siepp-info-accent,#567d8d);
}
body.siepp-global :where(.siepp-global-section,.siepp-panel,.siepp-content-box,.siepp-form-card)
  .siepp-info-block__header .siepp-info-block__marker{
  background:var(--siepp-info-accent,#567d8d);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--siepp-info-accent,#567d8d) 15%,transparent);
}
body.siepp-global .siepp-inner-shell__header :where(h1,h2,h3,h4,h5,h6,span,strong,small,b,em),
body.siepp-global .siepp-structural-section__heading :where(span,strong,small,b,em){
  color:#496a78;
  -webkit-text-fill-color:#496a78;
}
/* Todo texto común dentro de superficies claras hereda tinta oscura; botones,
   chips y triggers conservan sus reglas específicas de contraste blanco. */
body.siepp-global .siepp-app-main__frame :where(.siepp-info-block__body,.siepp-card__body,.siepp-form-pastel-section,.siepp-content-box)
  :where(p,li,dt,dd,label):not(.siepp-btn):not(.siepp-status-chip):not(.siepp-accordion-trigger){
  -webkit-text-fill-color:currentColor;
}

/* Una columna de grilla conserva su span aunque use una utilidad de alineación. */
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col.siepp-align-center[class*="siepp-grid-col--span-"],
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col.siepp-align-left[class*="siepp-grid-col--span-"],
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col.siepp-align-right[class*="siepp-grid-col--span-"]{
  width:auto;
}











/* Tarjeta con una sola opción: imagen y check representan la misma selección. */

body.siepp-global .siepp-app-main__frame .siepp-single-choice-card:hover{
  border:0;
  background:transparent;
  box-shadow:none;
}



body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-choice-image:hover{
  transform:translateY(-2px);
  filter:saturate(1.04);
}

body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-choice-tile::before{
  left:10px;
  width:19px;
  height:19px;
}


/* Evita que las utilidades text-align vuelvan una columna parcial de ancho completo. */
@media(min-width:768px){
  body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-card__body > .siepp-grid-row{
    align-items:center;
  }
}
@media(max-width:767.98px){
  body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-choice-image{max-height:210px}
}


/* ===== AUTORIDAD VISUAL ÚNICA =====
   Esta capa NO redefine una nueva línea gráfica: fija la presentación aprobada
   y concentra tablas, separación de acciones,
   selección visual y estructura) sin prioridades forzadas ni estilos por módulo. */

/* Una sola geometría base: wrappers internos no dibujan otra tarjeta. */
body.siepp-global .siepp-app-main__frame :where(
  .siepp-global-section,
  .siepp-panel,
  .siepp-form-card,
  .siepp-content-box,
  .siepp-workflow-section
){
  min-width:0;
  height:auto;
  align-self:start;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-global-section,.siepp-panel,.siepp-form-card,.siepp-content-box)
  :where(.siepp-inner-shell,.siepp-structural-section){
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
body.siepp-global .siepp-app-main__frame .siepp-content-stack > .siepp-content-stack{display:contents}
body.siepp-global .siepp-app-main__frame .siepp-panel-grid{align-items:start;grid-auto-flow:row dense}
body.siepp-global .siepp-app-main__frame .siepp-panel-grid > .siepp-panel{height:auto;min-height:0;align-self:start}

/* Geometría de columnas aprobada: una utilidad de alineación nunca anula el span. */
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col[class*="siepp-grid-col--span-"]{width:auto;min-width:0}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-1{grid-column:span 1}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-2{grid-column:span 2}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-3{grid-column:span 3;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-4{grid-column:span 4;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-5{grid-column:span 5;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-6{grid-column:span 6;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-7{grid-column:span 7;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-8{grid-column:span 8;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-9{grid-column:span 9;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-10{grid-column:span 10;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-11{grid-column:span 11;}
body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col--span-12{grid-column:1/-1;}

/* Bloque macro = único recuadro. Los datos internos son lectura vertical, no mini-tarjetas. */
body.siepp-global .siepp-app-main__frame .siepp-info-block__body{
  display:block;
  padding:7px 12px 10px;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-info-item,.siepp-data-row,.siepp-detail-row,.siepp-fact-item){
  min-height:0;
  width:100%;
  margin:0;
  padding:7px 2px;
  border:0;
  border-bottom:1px solid rgba(76,111,125,.14);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:none;
  text-align:left;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-info-item,.siepp-data-row,.siepp-detail-row,.siepp-fact-item):last-child{border-bottom:0}
body.siepp-global .siepp-app-main__frame :where(.siepp-info-item__key,.siepp-data-row__label,.siepp-fact-item__label){
  display:block;
  margin:0 0 2px;
  color:#4b6e7b;
  font-family:"Lato",Arial,sans-serif;
  font-size:.68rem;
  font-weight:800;
  font-style:italic;
  line-height:1.15;
  letter-spacing:.025em;
  text-transform:uppercase;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-info-item__value,.siepp-data-row__value,.siepp-fact-item__value){
  display:block;
  min-width:0;
  color:#203842;
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-size:.8rem;
  font-weight:700;
  font-style:normal;
  line-height:1.28;
  overflow-wrap:anywhere;
}
body.siepp-global .siepp-app-main__frame .siepp-info-item--field{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:5px 8px;
}
body.siepp-global .siepp-app-main__frame .siepp-info-item--field > .siepp-info-item__key{grid-column:1/-1}
body.siepp-global .siepp-app-main__frame .siepp-info-item--field :where(input:not([type="hidden"]),select,textarea){width:100%;min-width:0;margin:0}
body.siepp-global .siepp-app-main__frame .siepp-info-item--field :where(button,.siepp-field-edit){margin:0;align-self:center}
body.siepp-global .siepp-app-main__frame .siepp-info-block__body > :where(hr,.siepp-divider,br.siepp-form-spacer-redundant){display:none}

/* Los formularios macro conservan los tonos pastel aprobados. */
body.siepp-global .siepp-app-main__frame :where(.siepp-global-section,.siepp-workflow-section,.siepp-form-pastel-section){
  height:auto;
  min-height:0;
}
body.siepp-global .siepp-app-main__frame .siepp-global-section{
  border:1px solid var(--siepp-global-border,#c7dbe2);
  border-radius:14px;
  background:linear-gradient(150deg,#fff 0%,var(--siepp-global-soft,#eef6f8) 100%);
  box-shadow:0 5px 15px rgba(44,73,87,.06);
  overflow:hidden;
}
body.siepp-global .siepp-app-main__frame .siepp-global-section__heading{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  width:100%;
  margin:0 0 9px;
  padding:9px 11px;
  border:0;
  border-bottom:1px solid rgba(83,119,134,.18);
  background:rgba(83,119,134,.08);
  color:#355666;
  font:800 .82rem/1.2 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.015em;
}

/* Encabezados que fueron neutralizados estructuralmente nunca quedan blancos. */
body.siepp-global .siepp-app-main__frame :where(.siepp-global-section,.siepp-panel,.siepp-content-box,.siepp-form-card)
  .siepp-info-block__header{
  color:var(--siepp-info-accent,#567d8d);
}
body.siepp-global .siepp-app-main__frame :where(.siepp-global-section,.siepp-panel,.siepp-content-box,.siepp-form-card)
  .siepp-info-block__header :where(h1,h2,h3,h4,h5,h6,span,strong,small,b,em){
  color:var(--siepp-info-accent,#567d8d);
  -webkit-text-fill-color:var(--siepp-info-accent,#567d8d);
}

/* Pregunta ≠ respuesta: jerarquía tipográfica global. */
body.siepp-global .siepp-app-main__frame :where(.siepp-form-question,label.siepp-field-label,.siepp-form .form-label){
  display:block;
  margin:0 0 7px;
  color:#5d4965;
  font:800 12.5px/1.4 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.01em;
}
body.siepp-global .siepp-app-main__frame .siepp-form-question{padding:5px 0 3px;border-bottom:1px solid rgba(93,73,101,.12);}

/* Acción de información integral aprobada: ancha, legible y sin tarjeta angosta. */
body.siepp-global .siepp-app-main__frame .siepp-access-action.siepp-access-card,
body.siepp-global .siepp-app-main__frame .siepp-btn--block.siepp-access-card{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(0,2fr);
  align-items:center;
  gap:8px 16px;
  width:min(100%,760px);
  min-height:72px;
  margin:10px auto;
  padding:13px 16px;
  text-align:left;
}
body.siepp-global .siepp-app-main__frame .siepp-access-card__title{display:block;color:#fff;font:900 13px/1.2 "Outfit","Lato",Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;font-size:13px;line-height:1.22;}
body.siepp-global .siepp-app-main__frame .siepp-access-card__meta{width:100%;display:flex;flex-wrap:wrap;gap:6px 14px;}

/* Selección visual sin envoltura: la imagen y el checkbox comunican el estado. */
body.siepp-global .siepp-app-main__frame .siepp-single-choice-card{--choice-accent:var(--siepp-block-accent,#4f8170);position:relative;overflow:visible;border:0;background:transparent;box-shadow:none;transition:transform .16s ease;}
body.siepp-global .siepp-app-main__frame .siepp-single-choice-card.is-selected{border:0;background:transparent;box-shadow:none;}
body.siepp-global .siepp-app-main__frame .siepp-single-choice-card.is-selected::after{content:none;}
body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-choice-image{max-width:100%;max-height:250px;object-fit:contain;cursor:pointer;}
body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-choice-tile{width:100%;min-height:48px;margin:7px 0 9px;padding:9px 12px 9px 42px;justify-content:flex-start;text-align:left;color:#334f5d;-webkit-text-fill-color:#334f5d;font-size:11.5px;line-height:1.35;}
body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-actions-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;}
body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-actions-wrap .siepp-btn{width:100%;min-width:0;margin:0;}

/* Acciones: separación global real sin convertir contenedores arbitrarios en flex. */
body.siepp-global .siepp-app-main__frame :where(.siepp-btn,input[type="submit"],input[type="button"],input[type="reset"],button:not(.siepp-captcha-refresh))
  + :where(.siepp-btn,input[type="submit"],input[type="button"],input[type="reset"],button:not(.siepp-captcha-refresh)){
  margin-left:9px;
}
body.siepp-global .siepp-app-main__frame .siepp-actions-wrap{gap:9px}
body.siepp-global .siepp-app-main__frame .siepp-accordion-trigger{margin-bottom:6px}
body.siepp-global .siepp-app-main__frame [role="tab"] + [role="tab"]{margin-top:8px}
body.siepp-global .siepp-app-main__frame .siepp-accordion-owner + .siepp-accordion-owner,
body.siepp-global .siepp-app-main__frame .siepp-demand-card + .siepp-demand-card{margin-top:10px}

/* TABLAS: una sola presentación global; las interactivas NO se convierten en DataTables. */
body.siepp-global .siepp-app-main__frame .siepp-table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border-radius:13px;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table{
  width:100%;
  min-width:640px;
  margin:8px 0 14px;
  border:1px solid #ccdce2;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
  border-radius:12px;
  background:#fff;
  color:#304b59;
  box-shadow:0 5px 15px rgba(44,68,84,.06);
  overflow:hidden;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table thead th{
  padding:10px 11px;
  border:0;
  border-bottom:1px solid #c7d9e0;
  background:#e8f0f3;
  color:#355666;
  font:800 11px/1.25 "Outfit","Lato",Arial,sans-serif;
  text-align:center;
  vertical-align:middle;
  white-space:nowrap;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table tbody td{
  padding:9px 11px;
  border:0;
  border-bottom:1px solid #e6eef1;
  background:#fff;
  color:#344f5e;
  font:500 11px/1.35 "Lato",Arial,sans-serif;
  vertical-align:middle;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table tbody tr:nth-child(even) td{background:#f7fafb}
body.siepp-global .siepp-app-main__frame table.siepp-data-table tbody tr:hover td{background:#eef6f8}
body.siepp-global .siepp-app-main__frame table.siepp-data-table tbody tr:last-child td{border-bottom:0}
body.siepp-global .siepp-app-main__frame table.siepp-data-table .siepp-table-col--select{width:72px;min-width:72px;text-align:center}
body.siepp-global .siepp-app-main__frame table.siepp-data-table .siepp-table-col--number{width:62px;min-width:62px;text-align:center}
body.siepp-global .siepp-app-main__frame table.siepp-data-table .siepp-table-col--id{width:145px;min-width:125px;text-align:center;font-variant-numeric:tabular-nums}
body.siepp-global .siepp-app-main__frame table.siepp-data-table .siepp-table-col--age{width:120px;min-width:105px;text-align:center}
body.siepp-global .siepp-app-main__frame table.siepp-data-table .siepp-table-col--compact{width:110px;min-width:90px;text-align:center}
body.siepp-global .siepp-app-main__frame table.siepp-data-table .siepp-table-col--wide{min-width:230px;text-align:left}
body.siepp-global .siepp-app-main__frame table.siepp-data-table td.siepp-table-col--select input[type="checkbox"],
body.siepp-global .siepp-app-main__frame table.siepp-data-table td.siepp-table-col--select input[type="radio"]{
  display:inline-block;
  width:22px;
  height:22px;
  margin:0;
  vertical-align:middle;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table .siepp-table-actions-cell{white-space:normal}

/* DataTables adopta exactamente la misma línea central. */
body.siepp-global .siepp-app-main__frame .dataTables_wrapper{width:100%;color:#35505e;font-size:11px}
body.siepp-global .siepp-app-main__frame .dataTables_wrapper .dataTables_length,
body.siepp-global .siepp-app-main__frame .dataTables_wrapper .dataTables_filter{margin:4px 0 10px;color:#4b6673;font-weight:700}
body.siepp-global .siepp-app-main__frame .dataTables_wrapper .dataTables_filter input,
body.siepp-global .siepp-app-main__frame .dataTables_wrapper .dataTables_length select{
  min-height:34px;
  margin-left:5px;
  padding:5px 8px;
  border:1px solid #c9d9df;
  border-radius:8px;
  background:#fff;
  color:#304b59;
}
body.siepp-global .siepp-app-main__frame .dataTables_wrapper .dataTables_paginate .paginate_button{
  margin:2px;
  padding:6px 9px;
  border:1px solid #cbdbe1;
  border-radius:7px;
  background:#f5f9fa;
  color:#355666;
}
body.siepp-global .siepp-app-main__frame .dataTables_wrapper .dataTables_paginate .paginate_button.current{
  border-color:#5c8797;
  background:#5c8797;
  color:#fff;
}

/* Espaciadores HTML heredados dejan de crear huecos; el layout lo decide CSS. */
body.siepp-global .siepp-app-main__frame p.siepp-spacer,
body.siepp-global .siepp-app-main__frame br.siepp-form-spacer-redundant{display:none}

@media(max-width:767.98px){
  body.siepp-global .siepp-app-main__frame .siepp-grid-row > .siepp-grid-col[class*="siepp-grid-col--span-"]{grid-column:1/-1}
  body.siepp-global .siepp-app-main__frame .siepp-access-action.siepp-access-card,
  body.siepp-global .siepp-app-main__frame .siepp-btn--block.siepp-access-card{grid-template-columns:1fr;width:100%}
  body.siepp-global .siepp-app-main__frame .siepp-info-item--field{grid-template-columns:1fr}
  body.siepp-global .siepp-app-main__frame .siepp-info-item--field > .siepp-info-item__key{grid-column:auto}
  body.siepp-global .siepp-app-main__frame .siepp-single-choice-card .siepp-actions-wrap{grid-template-columns:1fr}
  body.siepp-global .siepp-app-main__frame :where(.siepp-btn,input[type="submit"],input[type="button"],input[type="reset"],button:not(.siepp-captcha-refresh))
    + :where(.siepp-btn,input[type="submit"],input[type="button"],input[type="reset"],button:not(.siepp-captcha-refresh)){
    margin-left:0;
    margin-top:8px;
  }
}
@media(prefers-reduced-motion:reduce){
  body.siepp-global .siepp-app-main__frame :where(.siepp-info-item,.siepp-fact-item,.siepp-single-choice-card,.siepp-choice-image,.siepp-btn,.siepp-accordion-trigger){transition:none;animation:none}
}


/* Corrección estructural de tablas de selección.
   Las filas que funcionan como opción visual siguen siendo filas TABLE;
   solo labels/divs con .siepp-choice-row usan flex. */
body.siepp-global .siepp-app-main__frame table.siepp-data-table tr.siepp-choice-row > td{
  display:table-cell;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table[data-siepp-interactive-table="1"]{
  table-layout:auto;
  margin-left:auto;
  margin-right:auto;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table[data-siepp-interactive-table="1"] thead th,
body.siepp-global .siepp-app-main__frame table.siepp-data-table[data-siepp-interactive-table="1"] tbody td{
  box-sizing:border-box;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table[data-siepp-interactive-table="1"] .siepp-table-col--select{
  width:66px;
  min-width:66px;
  max-width:66px;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table[data-siepp-interactive-table="1"] .siepp-table-col--number{
  width:58px;
  min-width:58px;
  max-width:58px;
}

/* ========================================================================== 
   SIEPP · DENSIDAD GLOBAL COMPACTA
   Autoridad final de ritmo vertical para todos los módulos internos.
   Reduce espacios heredados sin alterar la semántica, controles ni navegación.
   ========================================================================== */
body.siepp-global{
  --siepp-ui-gap:9px;
  --siepp-compact-xs:4px;
  --siepp-compact-sm:6px;
  --siepp-compact-md:9px;
  --siepp-compact-lg:12px;
}

/* Marco y secciones de página: menos aire vertical, mismo ancho útil. */
body.siepp-module-page .siepp-app-main__frame,
body.siepp-profile-page .siepp-app-main__frame{
  padding-top:10px;
  padding-bottom:13px;
}
body.siepp-global .siepp-app-main__frame .siepp-page-section,
body.siepp-module-page .siepp-app-main__frame>.siepp-page-section,
body.siepp-profile-page .siepp-app-main__frame>.siepp-page-section{
  margin-bottom:9px;
}
body.siepp-global .siepp-app-main__frame>h1,
body.siepp-global .siepp-app-main__frame .siepp-page-section h1{
  margin-bottom:7px;
  line-height:1.08;
}

/* Grillas y pilas: una única escala compacta entre bloques hermanos. */
body.siepp-global .siepp-app-main__frame .siepp-grid-row{
  gap:8px 9px;
  margin-bottom:9px;
}
body.siepp-global .siepp-app-main__frame .siepp-content-stack,
body.siepp-global .siepp-app-main__frame .siepp-panel-grid,
body.siepp-global .siepp-app-main__frame .siepp-form-section-grid,
body.siepp-global .siepp-app-main__frame .siepp-info-layout,
body.siepp-global .siepp-app-main__frame .siepp-workflow-matrix{
  gap:9px;
  margin-bottom:9px;
}
body.siepp-global .siepp-app-main__frame :where(
  .siepp-global-section,
  .siepp-workflow-section,
  .siepp-panel,
  .siepp-card,
  .siepp-form-card,
  .siepp-content-box,
  .siepp-form-section
){
  margin-top:0;
  margin-bottom:8px;
}
body.siepp-global .siepp-app-main__frame :where(
  .siepp-global-section,
  .siepp-workflow-section,
  .siepp-panel,
  .siepp-card,
  .siepp-form-card,
  .siepp-content-box,
  .siepp-form-section
):last-child{margin-bottom:0}

/* Padding de superficies: mantiene respiración sin desperdiciar pantalla. */
body.siepp-global .siepp-app-main__frame :where(.siepp-panel,.siepp-card,.siepp-form-card){
  padding:clamp(11px,1.15vw,15px);
}
body.siepp-global .siepp-app-main__frame :where(
  .siepp-form-section,
  .siepp-collapse>.siepp-card__body,
  .siepp-collapse .siepp-card__body,
  .siepp-content-box,
  .siepp-global-form-surface
){
  padding:clamp(9px,1vw,12px);
}
body.siepp-global .siepp-app-main__frame .siepp-workflow-section{
  padding:8px 10px;
  margin-bottom:7px;
}

/* Cabeceras macro e internas más próximas al contenido. */
body.siepp-global .siepp-app-main__frame .siepp-global-section__heading{
  gap:6px;
  margin-bottom:5px;
  padding:7px 9px;
  line-height:1.15;
}
body.siepp-global .siepp-app-main__frame .siepp-global-section__heading .siepp-section-icon{
  width:30px;
  height:30px;
}
body.siepp-global .siepp-app-main__frame .siepp-workflow-section>.siepp-workflow-heading{
  gap:6px;
  margin-bottom:5px;
}
body.siepp-global .siepp-app-main__frame .siepp-structural-section__heading,
body.siepp-global .siepp-app-main__frame :where(.siepp-global-section,.siepp-content-box,.siepp-panel) .siepp-info-block__header,
body.siepp-global .siepp-app-main__frame :where(.siepp-global-section,.siepp-content-box,.siepp-panel) .siepp-form-pastel-heading{
  margin-top:5px;
  margin-bottom:4px;
  padding-top:4px;
  padding-bottom:4px;
}

/* Datos planos: menos altura por fila, sin volver a crear microrecuadros. */
body.siepp-global .siepp-app-main__frame .siepp-info-block__body{
  padding:4px 10px 6px;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-info-item,.siepp-data-row,.siepp-detail-row,.siepp-fact-item){
  padding:4px 1px 5px;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-info-item__key,.siepp-data-row__label,.siepp-fact-item__label){
  margin-bottom:1px;
  line-height:1.1;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-info-item__value,.siepp-data-row__value,.siepp-fact-item__value){
  line-height:1.2;
}
body.siepp-global .siepp-data-list{
  margin-top:2px;
  padding-bottom:5px;
}

/* Formularios: compactación vertical sin reducir áreas de interacción. */
body.siepp-global .siepp-app-main__frame .siepp-form-group{margin-bottom:8px}
body.siepp-global .siepp-app-main__frame .siepp-form-step{
  margin:8px 0 6px;
  padding:7px 9px;
}
body.siepp-global .siepp-app-main__frame :where(.siepp-form-question,label.siepp-field-label,.siepp-form .form-label){
  margin-bottom:5px;
}
body.siepp-global .siepp-app-main__frame .siepp-form-question{
  padding:3px 0 2px;
}
body.siepp-global .siepp-app-main__frame .siepp-actions-wrap{
  gap:7px;
  margin-top:8px;
}
body.siepp-global .siepp-actions-center{
  gap:7px;
  margin:6px 0;
}

/* Alertas, acordeones y contenidos diferidos. */
body.siepp-global .siepp-app-main__frame .siepp-alert{
  margin:6px 0;
  padding:8px 10px;
}
body.siepp-global .siepp-app-main__frame .siepp-accordion-owner{padding:9px}
body.siepp-global .siepp-accordion-owner .siepp-collapse > .siepp-card__body,
body.siepp-global .siepp-accordion-owner .siepp-collapse .siepp-card__body,
body.siepp-global .siepp-accordion-owner .siepp-info-panel{
  margin-top:6px;
  padding-top:7px;
}
body.siepp-global .siepp-accordion-owner .siepp-lazy-slot{
  margin-top:6px;
  padding:7px 0;
}
body.siepp-global .siepp-app-main__frame .siepp-accordion-owner + .siepp-accordion-owner,
body.siepp-global .siepp-app-main__frame .siepp-demand-card + .siepp-demand-card{margin-top:7px}

/* Tablas: densidad moderada para mostrar más registros por pantalla. */
body.siepp-global .siepp-app-main__frame table.siepp-data-table{
  margin:6px 0 9px;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table thead th{
  padding:7px 8px;
}
body.siepp-global .siepp-app-main__frame table.siepp-data-table tbody td{
  padding:7px 8px;
  line-height:1.28;
}
body.siepp-global .siepp-app-main__frame .dataTables_wrapper .dataTables_length,
body.siepp-global .siepp-app-main__frame .dataTables_wrapper .dataTables_filter{margin:3px 0 6px}

/* Saltos usados únicamente como espaciadores dejan de consumir altura. */
body.siepp-global .siepp-app-main__frame br.siepp-form-spacer-redundant,
body.siepp-global .siepp-app-main__frame p.siepp-spacer{display:none}

/* Separación mínima y uniforme entre bloques de primer nivel, incluso en HTML
   heredado que no utiliza una grilla moderna. */
body.siepp-global .siepp-app-main__frame > :where(div,section,article,form) + :where(div,section,article,form),
body.siepp-global .siepp-app-main__frame > .siepp-container > :where(div,section,article,form) + :where(div,section,article,form){
  margin-top:0;
}

@media(max-width:767.98px){
  body.siepp-module-page .siepp-app-main__frame,
  body.siepp-profile-page .siepp-app-main__frame{padding-top:8px;padding-bottom:10px}
  body.siepp-global .siepp-app-main__frame .siepp-grid-row,
  body.siepp-global .siepp-app-main__frame .siepp-content-stack,
  body.siepp-global .siepp-app-main__frame .siepp-panel-grid{gap:7px;margin-bottom:7px}
  body.siepp-global .siepp-app-main__frame :where(.siepp-panel,.siepp-card,.siepp-form-card,.siepp-content-box,.siepp-form-section){padding:9px}
  body.siepp-global .siepp-app-main__frame .siepp-global-section__heading{padding:6px 8px;margin-bottom:4px}
  body.siepp-global .siepp-app-main__frame .siepp-info-block__body{padding:3px 8px 5px}
}

/* ===== SIEPP · ACCIONES DE IMAGEN SIN MARCOS =====
   Una imagen clicable es la propia acción. Se eliminan las tarjetas/botones
   artificiales alrededor de imágenes en todos los módulos. */
body.siepp-global .siepp-app-main__frame :where(a,button).siepp-image-only-action,
body.siepp-global .siepp-app-main__frame input[type="image"].siepp-image-only-action{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  max-width:100%;
  min-width:0;
  min-height:0;
  margin:3px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  -webkit-text-fill-color:inherit;
  text-decoration:none;
  text-shadow:none;
  filter:none;
  vertical-align:middle;
  overflow:visible;
  transition:transform .16s ease,opacity .16s ease;
}
body.siepp-global .siepp-app-main__frame :where(a,button).siepp-image-only-action:hover,
body.siepp-global .siepp-app-main__frame :where(a,button).siepp-image-only-action:focus,
body.siepp-global .siepp-app-main__frame input[type="image"].siepp-image-only-action:hover,
body.siepp-global .siepp-app-main__frame input[type="image"].siepp-image-only-action:focus{
  border:0;
  background:transparent;
  box-shadow:none;
  filter:none;
  transform:translateY(-1px);
  opacity:.96;
  color:inherit;
  -webkit-text-fill-color:inherit;
}
body.siepp-global .siepp-app-main__frame :where(a,button).siepp-image-only-action:focus-visible,
body.siepp-global .siepp-app-main__frame input[type="image"].siepp-image-only-action:focus-visible{
  outline:2px solid rgba(55,118,137,.58);
  outline-offset:4px;
}
body.siepp-global .siepp-app-main__frame :where(a,button).siepp-image-only-action>img,
body.siepp-global .siepp-app-main__frame input[type="image"].siepp-image-only-action{
  display:block;
  max-width:100%;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
}

/* Imágenes seleccionables: sin borde permanente; el estado se comunica por
   movimiento/saturación y por el indicador de selección de su contenedor. */
body.siepp-global .siepp-app-main__frame img.siepp-choice-image,
body.siepp-global .siepp-app-main__frame .siepp-visual-option__image{
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-app-main__frame img.siepp-choice-image.is-selected{
  border:0;
  box-shadow:none;
  transform:translateY(-2px) scale(1.025);
  filter:saturate(1.06);
}
body.siepp-global .siepp-app-main__frame img.siepp-choice-image[role="button"]:focus-visible{
  border:0;
  box-shadow:none;
  outline:2px solid rgba(55,118,137,.58);
  outline-offset:4px;
}

/* El pequeño marco blanco interno de las tarjetas gráficas tampoco crea una
   segunda caja alrededor de la imagen. Las tarjetas con texto conservan su
   etiqueta, pero el área de imagen queda limpia. */
body.siepp-global .siepp-app-main__frame .siepp-option-card__media{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}


/* ================================================================
   SIEPP · Breadcrumb global / ruta de navegación
   Una sola miga de pan para todas las pantallas de módulo.
   ================================================================ */
body.siepp-module-page .siepp-breadcrumb,
body.siepp-profile-page .siepp-breadcrumb{
  display:flex;
  align-items:center;
  width:100%;
  min-width:0;
  margin:0 0 8px;
  padding:0 2px 7px;
  border-bottom:1px solid rgba(94,122,135,.18);
  background:transparent;
  color:#617681;
  font:600 11px/1.35 "Lato",Arial,sans-serif
}
.siepp-breadcrumb__list{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  min-width:0;
  margin:0;
  padding:0;
  list-style:none
}
.siepp-breadcrumb__item{
  display:inline-flex;
  align-items:center;
  min-width:0;
  margin:0;
  padding:0
}
.siepp-breadcrumb__item+.siepp-breadcrumb__item::before{
  content:"›";
  flex:0 0 auto;
  margin:0 7px;
  color:#9aabb3;
  font:700 14px/1 "Outfit","Lato",Arial,sans-serif
}
.siepp-breadcrumb a,
.siepp-breadcrumb span{
  display:inline;
  max-width:min(48vw,520px);
  overflow:hidden;
  color:inherit;
  text-overflow:ellipsis;
  white-space:nowrap
}
.siepp-breadcrumb a{
  color:#3f7487;
  text-decoration:none
}
.siepp-breadcrumb a:hover{
  color:#6f405d;
  text-decoration:underline;
  text-underline-offset:2px
}
.siepp-breadcrumb__item--module a,
.siepp-breadcrumb__item--module span{
  color:#315f72;
  font-weight:700
}
.siepp-breadcrumb__item[aria-current="page"] span{
  color:#6b4b60;
  font-weight:700
}
@media (max-width:720px){
  body.siepp-module-page .siepp-breadcrumb,
  body.siepp-profile-page .siepp-breadcrumb{padding-bottom:6px;font-size:10px}
  .siepp-breadcrumb__item+.siepp-breadcrumb__item::before{margin:0 5px}
  .siepp-breadcrumb a,.siepp-breadcrumb span{max-width:72vw}
}

/* ========================================================================== 
   SIEPP · UNA SOLA ENVOLTURA VISUAL POR BLOQUE
   Los contenedores internos conservan su función técnica cuando la necesitan,
   pero no vuelven a dibujar tarjeta dentro de tarjeta.
   ========================================================================== */
body.siepp-global .siepp-app-main__frame .siepp-shell-flat,
body.siepp-global .siepp-app-main__frame :where(.siepp-global-section,.siepp-workflow-section,.siepp-panel,.siepp-content-box,.siepp-form-card,.siepp-card,.siepp-form-section)
  :where(.siepp-global-section,.siepp-workflow-section,.siepp-panel,.siepp-content-box,.siepp-form-card,.siepp-card,.siepp-form-section):not(.siepp-accordion-owner):not(.siepp-choice-card):not(.siepp-feature-card):not(.siepp-demand-card):not([data-siepp-keep-shell]){
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

/* Una cabecera interna puede seguir separando contenido, pero ya no crea otra caja. */
body.siepp-global .siepp-app-main__frame .siepp-shell-flat > :where(h2,h3,h4,h5,h6,.siepp-section-heading,.siepp-card__header),
body.siepp-global .siepp-app-main__frame :where(.siepp-global-section,.siepp-workflow-section,.siepp-panel,.siepp-content-box)
  :where(.siepp-global-section,.siepp-workflow-section,.siepp-panel,.siepp-content-box,.siepp-form-card,.siepp-card,.siepp-form-section)
  > :where(h2,h3,h4,h5,h6,.siepp-section-heading,.siepp-card__header){
  margin:4px 0 5px;
  padding:4px 0 5px;
  border:0;
  border-bottom:1px solid rgba(73,106,120,.14);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* Al desaparecer una fila/columna redundante no se reintroducen huecos artificiales. */
body.siepp-global .siepp-app-main__frame > :where(.siepp-content-box,.siepp-panel,.siepp-card,.siepp-form-card,.siepp-global-section,.siepp-workflow-section),
body.siepp-global .siepp-app-main__frame > :where(h1,h2,h3,h4,h5,h6,form,section,article){
  max-width:100%;
}

/* ===== SIEPP · MÓDULO 6 / DIARIO · SELECCIÓN VISUAL COMPACTA =====
 * Cada grupo funcional se mantiene como section independiente y se distribuye
 * en matriz. Las opciones se seleccionan directamente sobre la imagen: el
 * checkbox sigue existiendo para conservar intacto el POST, pero no se muestra.
 */
body.siepp-global .siepp-app-main__frame .siepp-diario-form-options{
  --siepp-diario-ring:#7ea9ba;
  --siepp-diario-select-glow:rgba(70,118,139,.18);
  width:100%;
  margin:4px 0 0;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-groups-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
  align-items:stretch;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group{
  --siepp-diario-bg:#f7fafb;
  --siepp-diario-ring:#8cb9c6;
  display:flex;
  flex-direction:column;
  min-width:0;
  margin:0;
  padding:9px 10px 10px;
  border:1px solid rgba(86,121,135,.14);
  border-radius:14px;
  background:var(--siepp-diario-bg);
  box-shadow:0 3px 12px rgba(44,68,84,.045);
  break-inside:avoid;
}

/* Fondo pastel suave y diferenciado para cada bloque. */
body.siepp-global .siepp-app-main__frame .siepp-diario-group--pastel-1{
  --siepp-diario-bg:#fff8f2;
  --siepp-diario-ring:#e8b78f;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-group--pastel-2{
  --siepp-diario-bg:#f3f8ff;
  --siepp-diario-ring:#8eb5df;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-group--pastel-3{
  --siepp-diario-bg:#f3fbf6;
  --siepp-diario-ring:#8fc6a0;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-group--pastel-4{
  --siepp-diario-bg:#fff5f9;
  --siepp-diario-ring:#dea0b9;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-group--pastel-5{
  --siepp-diario-bg:#f8f5ff;
  --siepp-diario-ring:#b6a0dd;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-group--pastel-6{
  --siepp-diario-bg:#fffbed;
  --siepp-diario-ring:#d8bf72;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group-head{
  display:grid;
  grid-template-columns:100px minmax(0,1fr);
  gap:8px;
  align-items:center;
  width:100%;
  margin:0 0 7px;
  padding:0 0 7px;
  border-bottom:1px solid rgba(73,106,120,.10);
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group-alert{
  width:100%;
  min-height:0;
  margin:0;
  padding:7px 9px;
  font-size:9px;
  line-height:1.22;
  text-align:left;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group-image,
body.siepp-global .siepp-app-main__frame .siepp-diario-option-image{
  border:0;
  outline:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group-image{
  display:block;
  width:92px;
  height:92px;
  max-width:92px;
  max-height:92px;
  margin:0 auto;
}

/* Matriz interna: al quedar solo imágenes, aprovecha todo el ancho y reduce alto. */
body.siepp-global .siepp-app-main__frame .siepp-diario-options-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(108px,1fr));
  gap:7px;
  width:100%;
  align-items:start;
  align-content:start;
}

/* La opción completa es el área clicable; no hay checkbox ni texto visibles. */
body.siepp-global .siepp-app-main__frame .siepp-diario-option-row,
body.siepp-global .siepp-app-main__frame .siepp-diario-option-tile{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:116px;
  margin:0;
  padding:3px;
  border:0;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
  user-select:none;
  transition:transform .16s ease, background-color .16s ease, box-shadow .16s ease;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-row:hover,
body.siepp-global .siepp-app-main__frame .siepp-diario-option-tile:hover{
  background:transparent;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-control{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
  opacity:0;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-visual{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:116px;
  height:116px;
  max-width:100%;
  padding:3px;
  border-radius:15px;
  background:transparent;
  box-shadow:0 0 0 0 transparent;
  transition:transform .18s ease, background-color .18s ease, box-shadow .18s ease, filter .18s ease;
}

/* Sombra de pie exclusiva de opciones seleccionables. Las imágenes informativas
   no usan .siepp-diario-option-visual y por tanto no reciben esta sombra. */
body.siepp-global .siepp-app-main__frame .siepp-diario-option-visual::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-2px;
  z-index:0;
  width:76%;
  height:12px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(42,59,69,.28) 0%, rgba(42,59,69,.13) 38%, rgba(42,59,69,0) 74%);
  filter:blur(2.6px);
  opacity:.66;
  pointer-events:none;
  transition:opacity .18s ease, width .18s ease, transform .18s ease, filter .18s ease;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-image{
  position:relative;
  z-index:1;
  display:block;
  width:110px;
  height:110px;
  max-width:110px;
  max-height:110px;
  margin:0 auto;
  opacity:.96;
  filter:saturate(.98) contrast(1.01);
  transition:transform .18s ease, opacity .18s ease, filter .18s ease;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-tile:hover .siepp-diario-option-visual{
  transform:translateY(-2px);
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-tile:hover .siepp-diario-option-visual::after{
  width:82%;
  opacity:.78;
}

/* Selección elegante: fondo pastel visible + halo suave + elevación.
   El estado seleccionado no depende solo de líneas: toda el área detrás de
   la imagen se tiñe con el color pastel del bloque. */
body.siepp-global .siepp-app-main__frame .siepp-diario-option-control:checked + .siepp-diario-option-visual{
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb,var(--siepp-diario-ring) 34%,white),
      color-mix(in srgb,var(--siepp-diario-ring) 18%,white)
    );
  box-shadow:
    0 0 0 2px rgba(255,255,255,.92),
    0 0 0 4px color-mix(in srgb,var(--siepp-diario-ring) 78%,transparent),
    0 10px 26px color-mix(in srgb,var(--siepp-diario-ring) 30%,transparent),
    inset 0 0 22px color-mix(in srgb,var(--siepp-diario-ring) 18%,transparent),
    inset 0 1px 0 rgba(255,255,255,.92);
  transform:translateY(-4px) scale(1.035);
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-control:checked + .siepp-diario-option-visual::after{
  width:90%;
  opacity:.94;
  filter:blur(3.5px);
  transform:translateX(-50%) scaleX(1.06);
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-control:checked + .siepp-diario-option-visual .siepp-diario-option-image{
  opacity:1;
  filter:saturate(1.08) contrast(1.035) brightness(1.015);
  transform:scale(1.012);
}

body.siepp-global .siepp-app-main__frame .siepp-diario-option-control:focus-visible + .siepp-diario-option-visual{
  box-shadow:
    0 0 0 2px rgba(255,255,255,.96),
    0 0 0 5px var(--siepp-diario-ring),
    0 10px 24px var(--siepp-diario-select-glow);
}

body.siepp-global .siepp-app-main__frame .siepp-diario-form-options > .siepp-grid-row{
  align-items:start;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-form-options > .siepp-grid-row > .siepp-grid-col{
  min-width:0;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-form-options > .siepp-align-center:last-of-type{
  margin-top:8px;
}

@media(max-width:760px){
  body.siepp-global .siepp-app-main__frame .siepp-diario-groups-grid{
    grid-template-columns:1fr;
    gap:8px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-group-head{
    grid-template-columns:90px minmax(0,1fr);
    gap:7px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-group-image{
    width:84px;
    height:84px;
    max-width:84px;
    max-height:84px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-options-grid{
    grid-template-columns:repeat(auto-fit,minmax(96px,1fr));
    gap:6px;
  }
}

@media(max-width:479.98px){
  body.siepp-global .siepp-app-main__frame .siepp-diario-group{
    padding:7px 8px 8px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-group-head{
    grid-template-columns:78px minmax(0,1fr);
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-group-image{
    width:72px;
    height:72px;
    max-width:72px;
    max-height:72px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-option-row,
  body.siepp-global .siepp-app-main__frame .siepp-diario-option-tile{
    min-height:92px;
    padding:2px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-option-visual{
    width:88px;
    height:88px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-option-image{
    width:82px;
    height:82px;
    max-width:82px;
    max-height:82px;
  }
}


/* Módulo 6 · optimización adicional: bloques con muchas opciones aprovechan
   las dos columnas y la validación visual acompaña los toast sin alterar el POST. */
body.siepp-global .siepp-app-main__frame .siepp-diario-group--wide{
  grid-column:1 / -1;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group.is-validation-error{
  border-color:rgba(190,73,96,.46);
  box-shadow:0 0 0 3px rgba(190,73,96,.10), 0 10px 24px rgba(89,56,66,.07);
  animation:siepp-diario-validation-pulse .42s ease both;
}

@keyframes siepp-diario-validation-pulse{
  0%{ transform:translateX(0); }
  28%{ transform:translateX(-3px); }
  58%{ transform:translateX(3px); }
  100%{ transform:translateX(0); }
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group.is-validation-error .siepp-diario-group-alert{
  border-color:rgba(197,83,104,.32);
  background:rgba(255,239,243,.92);
}

@media(max-width:760px){
  body.siepp-global .siepp-app-main__frame .siepp-diario-group--wide{
    grid-column:auto;
  }
}


/* Módulo 6 · opción mensual: mantiene la misma interacción visual que el resto. */
body.siepp-global .siepp-app-main__frame .siepp-diario-month-option{
  width:max-content;
  max-width:100%;
  margin:0 auto;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-month-option .siepp-diario-option-visual{
  width:126px;
  height:126px;
}
body.siepp-global .siepp-app-main__frame .siepp-diario-month-option .siepp-diario-option-image{
  width:120px;
  height:120px;
  max-width:120px;
  max-height:120px;
}

/* ===== SIEPP · MÓDULO 6 / DIARIO · PAQUETE PRIORIZADO MENSUAL =====
 * El formulario mensual usa el mismo lenguaje visual que los demás bloques.
 * La descarga queda concentrada en un único bloque inferior y separado de la
 * opción seleccionable. Las imágenes informativas no reciben sombra de selección.
 */
body.siepp-global .siepp-app-main__frame .siepp-diario-month-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  width:100%;
  margin:6px 0 2px;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-month-group{
  width:100%;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-month-alert{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:48px;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-options-grid--single{
  grid-template-columns:minmax(128px,164px);
  justify-content:center;
  justify-items:center;
  padding:2px 0 4px;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-month-option{
  width:150px;
  max-width:100%;
  min-height:142px;
  margin:0 auto;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-month-option .siepp-diario-option-visual{
  width:138px;
  height:138px;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-month-option .siepp-diario-option-image{
  width:132px;
  height:132px;
  max-width:132px;
  max-height:132px;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-download-block{
  display:grid;
  grid-template-columns:minmax(210px,.72fr) minmax(320px,1.28fr);
  gap:12px;
  align-items:center;
  width:100%;
  margin:0;
  padding:11px 14px;
  border:1px solid rgba(103,128,139,.16);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(247,250,252,.98),rgba(239,247,250,.96));
  box-shadow:0 4px 14px rgba(45,68,80,.055);
}

body.siepp-global .siepp-app-main__frame .siepp-diario-download-block__title{
  min-width:0;
  color:#35566a;
  font-size:11px;
  line-height:1.25;
  letter-spacing:.01em;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-download-block__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-download-block__actions .siepp-btn{
  margin:0;
  white-space:nowrap;
}

@media(max-width:760px){
  body.siepp-global .siepp-app-main__frame .siepp-diario-download-block{
    grid-template-columns:1fr;
    gap:8px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-download-block__title{
    text-align:center;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-download-block__actions{
    justify-content:center;
  }
}

@media(max-width:479.98px){
  body.siepp-global .siepp-app-main__frame .siepp-diario-month-option{
    width:124px;
    min-height:118px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-month-option .siepp-diario-option-visual{
    width:112px;
    height:112px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-month-option .siepp-diario-option-image{
    width:106px;
    height:106px;
    max-width:106px;
    max-height:106px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-download-block{
    padding:10px;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-download-block__actions{
    flex-direction:column;
    align-items:stretch;
  }
  body.siepp-global .siepp-app-main__frame .siepp-diario-download-block__actions .siepp-btn{
    width:100%;
  }
}

/* ===== SIEPP · MÓDULO 6 / DIARIO · IMÁGENES DE REFERENCIA CENTRADAS =====
 * Solo afecta imágenes informativas/de referencia. Las imágenes que representan
 * opciones seleccionables conservan su matriz, interacción, sombra y POST.
 */
body.siepp-global .siepp-app-main__frame .siepp-diario-reference-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  margin-inline:auto;
  text-align:center;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-reference-image{
  display:block;
  margin-left:auto;
  margin-right:auto;
}

/* Imagen general de modalidad/forma de atención (virtual, presencial, paquete, etc.). */
body.siepp-global .siepp-app-main__frame .siepp-diario-reference-visual--main{
  padding:2px 0 6px;
}

/* En cada bloque funcional, la imagen de referencia ocupa el centro real del bloque;
   la indicación queda debajo y a todo el ancho para una lectura más uniforme. */
body.siepp-global .siepp-app-main__frame .siepp-diario-group-head{
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  align-items:center;
  gap:6px;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group-visual{
  width:100%;
  justify-content:center;
}

body.siepp-global .siepp-app-main__frame .siepp-diario-group-alert{
  width:100%;
  text-align:center;
}

/* Los iconos pequeños que acompañan títulos de sección no son imágenes de
   referencia y permanecen en su posición original. */


/* ========================================================================== 
   SIEPP V2 · CENTRALIZACIÓN UNIVERSAL DE RESUMEN DE USUARIO
   Aplica en todos los módulos y carpetas que usan el layout global.
   Sin microtarjetas: una sola matriz plana con separadores.
   ========================================================================== */
body.siepp-global .siepp-app-main__frame .siepp-user-summary-section{
  padding:8px 10px 9px;
  min-height:0;
}
body.siepp-global .siepp-app-main__frame .siepp-user-summary-section > :where(h2,h3,h4,h5,h6,.siepp-workflow-heading,.siepp-global-section__heading){
  margin:0 0 6px;
  min-height:0;
  padding:6px 8px;
}
body.siepp-global .siepp-app-main__frame .siepp-user-summary-section .siepp-section-icon{
  width:30px;
  height:30px;
  margin-right:6px;
}
body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;
  gap:0;
  width:100%;
  margin:0;
  padding:0;
  border-top:1px solid rgba(68,111,131,.15);
  border-bottom:1px solid rgba(68,111,131,.15);
  background:transparent;
}
body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary > .siepp-fact-item{
  display:block;
  width:auto;
  min-width:0;
  min-height:0;
  margin:0;
  padding:7px 11px;
  border:0;
  border-right:1px solid rgba(68,111,131,.10);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary > .siepp-fact-item:last-child{border-right:0}
body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary .siepp-fact-item__label{
  display:block;
  margin:0 0 2px;
  color:#557482;
  font-size:.64rem;
  font-weight:900;
  font-style:normal;
  letter-spacing:.055em;
  line-height:1.15;
  text-transform:uppercase;
}
body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary .siepp-fact-item__value{
  display:block;
  color:#173f52;
  font-size:.82rem;
  font-weight:750;
  line-height:1.2;
  overflow-wrap:anywhere;
}

/* ========================================================================== 
   SIEPP V2 · FRANJAS DE IDENTIFICACIÓN DE FORMULARIO COMPACTAS
   Elimina el espacio vacío de paneles que solo contienen icono + nombre.
   ========================================================================== */
body.siepp-global .siepp-app-main__frame .siepp-module-strip{
  display:flex;
  align-items:center;
  width:100%;
  min-height:0;
  margin:0 0 7px;
  padding:7px 10px;
  border-radius:13px;
}
body.siepp-global .siepp-app-main__frame .siepp-module-strip > .siepp-module-strip__inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  text-align:left;
}
body.siepp-global .siepp-app-main__frame .siepp-module-strip .siepp-module-strip__heading{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
  line-height:1.2;
}
body.siepp-global .siepp-app-main__frame .siepp-module-strip img.siepp-module-strip__icon,
body.siepp-global .siepp-app-main__frame .siepp-module-strip img.siepp-form-module-icon{
  flex:0 0 48px;
  display:block;
  width:48px;
  height:48px;
  max-width:48px;
  max-height:48px;
  margin:0;
  object-fit:contain;
}

@media(max-width:900px){
  body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary > .siepp-fact-item{border-bottom:1px solid rgba(68,111,131,.10)}
  body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary > .siepp-fact-item:nth-child(2n){border-right:0}
}
@media(max-width:620px){
  body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary{grid-template-columns:1fr}
  body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary > .siepp-fact-item{border-right:0}
  body.siepp-global .siepp-app-main__frame .siepp-module-strip img.siepp-module-strip__icon,
  body.siepp-global .siepp-app-main__frame .siepp-module-strip img.siepp-form-module-icon{width:42px;height:42px;max-width:42px;max-height:42px;flex-basis:42px}
}

/* ========================================================================== 
   SIEPP V2 · CORRECCIÓN GLOBAL DEFINITIVA · RESUMEN INTEGRAL DEL USUARIO
   2026-08-18
   Cubre tanto .siepp-fact-grid como .siepp-data-list, por lo que aplica a
   nominal, diario, seguimiento CDI, bonos, indicadores y demás carpetas.
   ========================================================================== */
body.siepp-global .siepp-app-main__frame .siepp-user-summary-section{
  min-height:0;
  padding:8px 10px 9px;
}

body.siepp-global .siepp-app-main__frame .siepp-user-summary-section > :where(h2,h3,h4,h5,h6,.siepp-workflow-heading,.siepp-global-section__heading){
  min-height:0;
  margin:0 0 7px;
  padding:6px 8px;
}

body.siepp-global .siepp-app-main__frame .siepp-user-summary-section .siepp-section-icon{
  width:30px;
  height:30px;
  max-width:30px;
  max-height:30px;
  margin-right:7px;
}

/* La ruta usada por diario y muchas carpetas: .siepp-data-list. */
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  width:100%;
  margin:0;
  padding:0;
  border-top:1px solid rgba(68,111,131,.15);
  border-bottom:1px solid rgba(68,111,131,.15);
  background:transparent;
}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary.siepp-data-list--cols-1{grid-template-columns:1fr}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary.siepp-data-list--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary.siepp-data-list--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary.siepp-data-list--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary.siepp-data-list--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary.siepp-data-list--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}

body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary > .siepp-data-row{
  display:block;
  min-width:0;
  min-height:0;
  margin:0;
  padding:8px 12px;
  border:0;
  border-right:1px solid rgba(68,111,131,.10);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary > .siepp-data-row:last-child{border-right:0}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary .siepp-data-row__label{
  display:block;
  margin:0 0 3px;
  color:#557482;
  font-size:.64rem;
  font-weight:900;
  font-style:normal;
  letter-spacing:.055em;
  line-height:1.15;
  text-transform:uppercase;
}
body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary .siepp-data-row__value{
  display:block;
  min-width:0;
  color:#173f52;
  font-size:.82rem;
  font-weight:750;
  line-height:1.2;
  overflow-wrap:anywhere;
}

/* Garantía adicional para la ruta .siepp-fact-grid. */
body.siepp-global .siepp-app-main__frame .siepp-fact-grid.siepp-fact-grid--user-summary{
  min-height:0;
}

/* Compactación global del panel que solo identifica el bloque/formulario.
   Se aplica aun si por alguna razón JS no añadió .siepp-module-strip. */
body.siepp-global .siepp-app-main__frame .siepp-panel:has(img.siepp-form-module-icon){
  min-height:0;
}
body.siepp-global .siepp-app-main__frame .siepp-panel:has(img.siepp-form-module-icon):not(:has(form,table,input,select,textarea,.siepp-accordion-trigger)){
  margin:0 0 8px;
  padding:7px 10px;
  border-radius:13px;
}
body.siepp-global .siepp-app-main__frame .siepp-panel:has(img.siepp-form-module-icon):not(:has(form,table,input,select,textarea,.siepp-accordion-trigger)) > .siepp-align-center{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:0;
  margin:0;
  padding:0;
  text-align:left;
}
body.siepp-global .siepp-app-main__frame .siepp-panel:has(img.siepp-form-module-icon):not(:has(form,table,input,select,textarea,.siepp-accordion-trigger)) h5{
  display:flex;
  align-items:center;
  gap:9px;
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
  line-height:1.2;
}
body.siepp-global .siepp-app-main__frame .siepp-panel:has(img.siepp-form-module-icon):not(:has(form,table,input,select,textarea,.siepp-accordion-trigger)) img.siepp-form-module-icon{
  flex:0 0 48px;
  display:block;
  width:48px;
  height:48px;
  max-width:48px;
  max-height:48px;
  margin:0;
  object-fit:contain;
}

@media(max-width:900px){
  body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary > .siepp-data-row{
    border-bottom:1px solid rgba(68,111,131,.10);
  }
  body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary > .siepp-data-row:nth-child(2n){border-right:0}
}
@media(max-width:620px){
  body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary,
  body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary[class*="siepp-data-list--cols-"]{
    grid-template-columns:1fr;
  }
  body.siepp-global .siepp-app-main__frame .siepp-data-list.siepp-data-list--user-summary > .siepp-data-row{
    border-right:0;
  }
}

/* ===== SIEPP · CALIDAD DEL SERVICIO · UI CLARA COMPACTA =====
 * Capa visual exclusiva del módulo.
 * Un solo tema claro, bloques por fondos pastel, sin bordes de color.
 * Diseño orientado a matrices para aprovechar mejor el espacio disponible.
 */
body.siepp-module-calidad-servicio{
  color-scheme:light;
  --cs-ink:#244553;
  --cs-ink-strong:#143a4c;
  --cs-label:#4f3c54;
  --cs-muted:#667b86;
  --cs-surface:#ffffff;
  --cs-page:#f3f7f8;
  --cs-cyan:#3f8193;
  --cs-cyan-soft:#eaf5f7;
  --cs-plum:#7c6077;
  --cs-plum-soft:#f5eef4;
  --cs-gold:#a77a3d;
  --cs-gold-soft:#fbf3e6;
  --cs-green:#4d8068;
  --cs-green-soft:#edf6f1;
  --cs-blue:#59769e;
  --cs-blue-soft:#eef2f8;
  --cs-coral:#92645f;
  --cs-coral-soft:#f8efed;
  --cs-shadow:0 7px 20px rgba(38,65,78,.07);
}

body.siepp-module-calidad-servicio .siepp-app-main{background:var(--cs-page)}
body.siepp-module-calidad-servicio .siepp-app-main__frame{
  max-width:1180px;
  padding-top:8px;
  padding-bottom:10px;
}
body.siepp-module-calidad-servicio .siepp-page-section{margin-bottom:7px}
body.siepp-module-calidad-servicio .siepp-content-stack{gap:9px;margin-bottom:0}

/* Superficies macro. La separación es por fondo/sombra, no por marcos de color. */
body.siepp-module-calidad-servicio .siepp-app-main__frame :where(.siepp-panel,.siepp-form-card){
  border:0;
  border-radius:15px;
  background:var(--cs-surface);
  box-shadow:var(--cs-shadow);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-card{
  margin-bottom:0;
  padding:12px 14px 13px;
}

/* Título principal compacto. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-card>h1{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:0 0 9px;
  padding:1px 6px 9px;
  border:0;
  border-bottom:1px solid #e4ecef;
  color:var(--cs-ink-strong);
  font:800 clamp(1.18rem,1.65vw,1.55rem)/1.12 "Outfit","Lato",Arial,sans-serif;
  text-align:center;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-heading-logo{
  width:39px;
  height:39px;
  flex:0 0 39px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
}

/* MATRIZ DE FORMULARIOS
 * JS añade cs-form-matrix y subtipos sin tocar action/method/name/value.
 */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:8px 9px;
  width:100%;
  margin:0;
  align-items:start;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>input[type="hidden"]{display:none}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>.cs-cell{
  grid-column:span 4;
  min-width:0;
  height:100%;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>.cs-cell--half{grid-column:span 6}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>.cs-cell--wide{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>.cs-cell--full{grid-column:1/-1}

/* Registro de proveedor: 4+8 / 8+4 / 6 + acción + fecha. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--1{grid-column:span 4}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--2{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--3{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--4{grid-column:span 4}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--5{grid-column:span 6}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-actions-center{
  grid-column:span 3;
  align-self:end;
  justify-content:stretch;
  margin:0;
  padding:0 0 1px;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-actions-center .siepp-btn{width:100%}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-note:last-child{
  grid-column:span 3;
  align-self:end;
  margin:0;
  padding:0 2px 7px;
  text-align:right;
}

/* Registro de sucursal: resumen completo / datos y contacto en paralelo / unidad + acción. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-branch>.siepp-form-block--1{grid-column:1/-1}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-branch>.siepp-form-block--2,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-branch>.siepp-form-block--3{grid-column:span 6}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-branch>.siepp-form-block--4{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-branch>.siepp-actions-center{
  grid-column:span 4;
  align-self:stretch;
  justify-content:stretch;
  align-items:flex-end;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-branch>.siepp-actions-center .siepp-btn{width:100%}

/* Responsable: resumen arriba y tres datos en una misma fila. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-personal>.siepp-form-block--1{grid-column:1/-1}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-personal>.siepp-form-block--2,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-personal>.siepp-form-block--3,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-personal>.siepp-form-block--4{grid-column:span 4}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-personal>.siepp-actions-center{
  grid-column:1/-1;
  margin:0;
}

/* Agregar unidad: resumen completo y búsqueda + acción en la siguiente fila. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-unit>.siepp-form-block--1{grid-column:1/-1}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-unit>.siepp-form-block--2{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-unit>.siepp-actions-center{
  grid-column:span 4;
  align-self:stretch;
  justify-content:stretch;
  align-items:flex-end;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-unit>.siepp-actions-center .siepp-btn{width:100%}

/* Formularios BPM: los bloques con tabla permanecen a todo lo ancho, pero con menos aire. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-bpm>.cs-cell{grid-column:1/-1}

/* Secciones pastel: más visibles, sin borde de color. */
body.siepp-module-calidad-servicio .siepp-app-main__frame :where(.siepp-form-block,.siepp-form-section).cs-cell,
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-card :where(.siepp-form-block,.siepp-form-section){
  --cs-block-accent:var(--cs-cyan);
  --cs-block-bg:var(--cs-cyan-soft);
  min-width:0;
  padding:9px 11px 10px;
  border:0;
  border-radius:11px;
  background:var(--cs-block-bg);
  box-shadow:none;
}
body.siepp-module-calidad-servicio .siepp-form-block--1{--cs-block-accent:var(--cs-cyan);--cs-block-bg:var(--cs-cyan-soft)}
body.siepp-module-calidad-servicio .siepp-form-block--2{--cs-block-accent:var(--cs-plum);--cs-block-bg:var(--cs-plum-soft)}
body.siepp-module-calidad-servicio .siepp-form-block--3{--cs-block-accent:var(--cs-gold);--cs-block-bg:var(--cs-gold-soft)}
body.siepp-module-calidad-servicio .siepp-form-block--4{--cs-block-accent:var(--cs-green);--cs-block-bg:var(--cs-green-soft)}
body.siepp-module-calidad-servicio .siepp-form-block--5{--cs-block-accent:var(--cs-blue);--cs-block-bg:var(--cs-blue-soft)}
body.siepp-module-calidad-servicio .siepp-form-block--6{--cs-block-accent:var(--cs-coral);--cs-block-bg:var(--cs-coral-soft)}

body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-block>legend{
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  margin:0 0 6px;
  padding:4px 8px;
  border:0;
  border-radius:7px;
  background:rgba(255,255,255,.78);
  color:var(--cs-block-accent);
  box-shadow:none;
  font:800 .72rem/1.18 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.01em;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-step{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 6px;
  padding:0 0 6px;
  border:0;
  border-bottom:1px solid rgba(48,78,91,.10);
  background:transparent;
  color:var(--cs-ink-strong);
  box-shadow:none;
  font:800 .75rem/1.18 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-step>span{
  display:inline-grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  background:var(--cs-block-accent,var(--cs-cyan));
  color:#fff;
  font-size:.66rem;
}

/* Matrices internas de campos. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-grid-row{
  gap:6px 8px;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-grid-col{min-width:0}

/* Tipografía y controles: mayor contraste, menor altura. */
body.siepp-module-calidad-servicio .siepp-app-main__frame :where(label,.siepp-field-label){
  display:block;
  margin:0 0 3px;
  color:var(--cs-label);
  font:800 .69rem/1.2 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.005em;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame :where(
  input[type="text"],input[type="email"],input[type="search"],input[type="tel"],
  input[type="date"],input[type="number"],input[type="password"],select,textarea
){
  min-height:35px;
  height:auto;
  margin:0;
  padding:7px 9px;
  border:1px solid #c8d9df;
  border-radius:8px;
  outline:0;
  background:#fff;
  color:#244756;
  box-shadow:none;
  font:600 .74rem/1.28 "Lato",Arial,sans-serif;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame textarea{min-height:66px;resize:vertical}
body.siepp-module-calidad-servicio .siepp-app-main__frame :where(input,select,textarea):focus{
  border-color:#6998a5;
  background:#fff;
  box-shadow:0 0 0 3px rgba(63,129,147,.10);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame :where(input,select,textarea)::placeholder{color:#84959d;opacity:1}
body.siepp-module-calidad-servicio .siepp-form-note{
  display:block;
  margin-top:3px;
  color:#5e7480;
  font-size:.64rem;
  line-height:1.25;
}

/* Acciones: compactas y coloreadas por función. */
body.siepp-module-calidad-servicio .siepp-actions-center{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:7px;
  margin:6px 0 0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn{
  min-height:33px;
  padding:7px 12px;
  border:0;
  border-radius:9px;
  box-shadow:none;
  font:800 .68rem/1 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn:hover,
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(43,67,79,.10);
  filter:brightness(.98);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--info{background:#477f94;color:#fff}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--success{background:#4e8068;color:#fff}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--secondary{background:#7d6078;color:#fff}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--warning{background:#a87836;color:#fff}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--danger{background:#9a5c62;color:#fff}

/* Búsquedas: compactas y con resultados legibles. */
body.siepp-module-calidad-servicio .siepp-search-form{margin:0}
body.siepp-module-calidad-servicio .siepp-search-form__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 86px;
  align-items:end;
  gap:7px;
}
body.siepp-module-calidad-servicio .siepp-search-form__row .siepp-btn{width:100%;min-width:0;margin:0}
body.siepp-module-calidad-servicio :where(#cs-resultados,#resultadoBusqueda_siimies){margin-top:6px}
body.siepp-module-calidad-servicio :where(#cs-resultados,#resultadoBusqueda_siimies).cs-is-loading{
  min-height:38px;
  padding:8px 10px;
  border-radius:9px;
  background:#f0f6f7;
}

body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list{
  display:flex;
  flex-direction:column;
  gap:5px;
  width:100%;
  margin:5px 0 0;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item{
  --cs-row-bg:#eaf5f7;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:46px;
  margin:0;
  padding:6px 8px;
  border:0;
  border-radius:9px;
  background:var(--cs-row-bg);
  color:var(--cs-ink);
  box-shadow:none;
  text-decoration:none;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list>.siepp-user-item:nth-child(6n+1){--cs-row-bg:#eaf5f7}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list>.siepp-user-item:nth-child(6n+2){--cs-row-bg:#f5eef4}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list>.siepp-user-item:nth-child(6n+3){--cs-row-bg:#fbf3e6}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list>.siepp-user-item:nth-child(6n+4){--cs-row-bg:#edf6f1}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list>.siepp-user-item:nth-child(6n+5){--cs-row-bg:#eef2f8}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list>.siepp-user-item:nth-child(6n+6){--cs-row-bg:#f8efed}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item:hover,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item:focus-visible,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item.is-selected{
  color:var(--cs-ink);
  transform:translateY(-1px);
  box-shadow:0 4px 11px rgba(42,68,80,.08);
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__index{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#3f8093;
  color:#fff;
  font:800 .66rem/1 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__content{
  display:flex;
  flex-direction:column;
  gap:1px;
  min-width:0;
  color:var(--cs-ink);
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__name,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item:link .siepp-user-item__name,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item:visited .siepp-user-item__name{
  display:block;
  color:#183f52;
  font:800 .76rem/1.16 "Outfit","Lato",Arial,sans-serif;
  text-shadow:none;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__meta,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item:link .siepp-user-item__meta,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item:visited .siepp-user-item__meta{
  display:block;
  margin:0;
  color:#526e7a;
  font:600 .63rem/1.2 "Lato",Arial,sans-serif;
  text-shadow:none;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__meta strong{color:#315563}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:84px;
  min-height:27px;
  padding:5px 9px;
  border:0;
  border-radius:999px;
  background:#4d8068;
  color:#fff;
  font:800 .61rem/1 "Outfit","Lato",Arial,sans-serif;
  text-transform:uppercase;
}

/* Resúmenes de proveedor/sucursal: matriz horizontal, sin microbordes. */
body.siepp-module-calidad-servicio .siepp-fact-grid.siepp-fact-grid--user-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
body.siepp-module-calidad-servicio .siepp-fact-item{
  min-width:0;
  padding:6px 8px;
  border:0;
  border-radius:8px;
  background:rgba(255,255,255,.70);
  box-shadow:none;
}
body.siepp-module-calidad-servicio .siepp-fact-item__label{margin:0 0 1px;color:#6c7d85;font-size:.60rem;line-height:1.12}
body.siepp-module-calidad-servicio .siepp-fact-item__value{color:#244858;font-size:.70rem;font-weight:800;line-height:1.18}

/* Tarjetas internas y listados de sucursales. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-card{
  margin:0;
  padding:9px 10px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.76);
  box-shadow:none;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-card__body{padding:0;color:var(--cs-ink)}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-card+.siepp-card{margin-top:7px}

/* Tablas BPM/proveedores: densas y claras. */
body.siepp-module-calidad-servicio .siepp-table-responsive{
  margin-top:5px;
  border:0;
  border-radius:9px;
  background:#fff;
  box-shadow:none;
  overflow:auto;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame table.siepp-form-table{
  width:100%;
  margin:0;
  border:0;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  box-shadow:none;
  font-size:.68rem;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame table.siepp-form-table :where(th,td){
  padding:6px 7px;
  border:0;
  border-bottom:1px solid #e6edef;
  color:#395765;
  line-height:1.18;
  vertical-align:middle;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame table.siepp-form-table th{
  background:#4b7f8e;
  color:#fff;
  font-size:.64rem;
  font-weight:800;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame table.siepp-form-table tbody tr:nth-child(even) td{background:#f8fafb}
body.siepp-module-calidad-servicio .siepp-app-main__frame table.siepp-form-table tbody tr:hover td{background:#eef6f7}
body.siepp-module-calidad-servicio .siepp-app-main__frame table.siepp-form-table :where(select,input[type="text"],input[type="number"],textarea){min-height:31px;padding:5px 7px;font-size:.67rem}
body.siepp-module-calidad-servicio .siepp-app-main__frame table.siepp-form-table textarea{min-height:48px}

/* Alertas/status. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-alert{
  margin:5px 0 0;
  padding:7px 9px;
  border:0;
  border-radius:8px;
  box-shadow:none;
  font-size:.68rem;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-alert--info{background:#eaf4f7;color:#315e70}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-alert--success{background:#ebf5ef;color:#3f6d56}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-alert--warning{background:#fbf2df;color:#775927}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-alert--danger{background:#f8ebed;color:#854a50}
body.siepp-module-calidad-servicio .siepp-status-chip{border:0;box-shadow:none}

/* MENÚ DEL MÓDULO: 4 opciones por fila, compacto y con fondos macro pastel. */
body.siepp-module-calidad-servicio .siepp-content-stack>.siepp-panel{
  padding:12px 14px 13px;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-content-stack>.siepp-panel:nth-of-type(1){background:#f1f8fa}
body.siepp-module-calidad-servicio .siepp-content-stack>.siepp-panel:nth-of-type(2){background:#f8f2f7}
body.siepp-module-calidad-servicio .siepp-content-stack>.siepp-panel>h5{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  padding:7px 9px;
  border:0;
  border-radius:9px;
  background:rgba(255,255,255,.74);
  color:var(--cs-ink-strong);
  font:800 .80rem/1.18 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio .siepp-content-stack>.siepp-panel>h5 .siepp-section-icon{
  width:28px;
  height:28px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  object-fit:contain;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-content-stack>.siepp-panel>.siepp-grid-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;
  gap:7px 12px;
  margin:0;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-content-stack>.siepp-panel>.siepp-grid-row>.siepp-grid-col.siepp-grid-col--span-3{
  grid-column:span 1;
  width:auto;
  min-width:0;
  max-width:none;
  padding:0;
}
body.siepp-module-calidad-servicio .siepp-image-only-action{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:112px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-decoration:none;
  overflow:visible;
  transition:transform .14s ease;
}
body.siepp-module-calidad-servicio .siepp-image-only-action:hover,
body.siepp-module-calidad-servicio .siepp-image-only-action:focus-visible{transform:translateY(-2px);background:transparent;box-shadow:none}
body.siepp-module-calidad-servicio .siepp-image-only-action .siepp-visual-option__image{
  display:block;
  width:min(132px,96%);
  height:108px;
  max-width:none;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 6px 4px rgba(42,68,80,.13));
  object-fit:contain;
}

/* Modal institucional. */
body.siepp-module-calidad-servicio .siepp-dialog-layer{background:rgba(28,42,49,.52);backdrop-filter:none}
body.siepp-module-calidad-servicio .siepp-dialog{border:0;background:#fff;color:var(--cs-ink)}

@media(max-width:920px){
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>.cs-cell,
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>.cs-cell--wide{grid-column:span 6}
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>.cs-cell--full{grid-column:1/-1}
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--1,
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--2,
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--3,
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--4,
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-block--5{grid-column:span 6}
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-actions-center,
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-provider>.siepp-form-note:last-child{grid-column:span 6}
  body.siepp-module-calidad-servicio .siepp-fact-grid.siepp-fact-grid--user-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-card,
  body.siepp-module-calidad-servicio .siepp-content-stack>.siepp-panel{padding:10px;border-radius:12px}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-card>h1{font-size:1.08rem}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-heading-logo{width:34px;height:34px;flex-basis:34px}
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix{grid-template-columns:1fr;gap:7px}
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-matrix>*{grid-column:1/-1}
  body.siepp-module-calidad-servicio .siepp-search-form__row{grid-template-columns:1fr}
  body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item{grid-template-columns:26px minmax(0,1fr)}
  body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__badge{grid-column:1/-1;width:100%}
  body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-content-stack>.siepp-panel>.siepp-grid-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  body.siepp-module-calidad-servicio .siepp-fact-grid.siepp-fact-grid--user-summary,
  body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-content-stack>.siepp-panel>.siepp-grid-row{grid-template-columns:1fr}
  body.siepp-module-calidad-servicio .siepp-image-only-action{min-height:102px}
  body.siepp-module-calidad-servicio .siepp-image-only-action .siepp-visual-option__image{height:98px;width:min(138px,94%)}
}
/* ===== FIN · CALIDAD DEL SERVICIO · UI CLARA COMPACTA ===== */

/* ===== CALIDAD DEL SERVICIO · CORRECCIÓN DE CONTRASTE EN LISTADOS =====
 * Algunos estilos globales de botones usan -webkit-text-fill-color:#fff.
 * WebKit/Chromium hereda esa propiedad aunque el hijo cambie `color`, por lo
 * que nombres, RUC y direcciones podían quedar blancos sobre fondos pastel.
 * Esta capa restablece explícitamente color y text-fill solo en el contenido
 * textual de resultados, conservando blanco únicamente en índice y botón.
 */
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-record-list .siepp-record-item{
  color:#183f52;
  -webkit-text-fill-color:#183f52;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__content,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-record-list .siepp-record-item__content{
  color:#183f52;
  -webkit-text-fill-color:#183f52;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__name,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-record-list .siepp-record-item__title{
  color:#173f52;
  -webkit-text-fill-color:#173f52;
  opacity:1;
  text-shadow:none;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__meta,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-record-list .siepp-record-item__meta{
  color:#526e7a;
  -webkit-text-fill-color:#526e7a;
  opacity:1;
  text-shadow:none;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__meta strong,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-record-list .siepp-record-item__meta strong{
  color:#315563;
  -webkit-text-fill-color:#315563;
}
/* Enlaces de resultado: todos los estados mantienen el texto oscuro. */
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:link .siepp-user-item__content,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:visited .siepp-user-item__content,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:hover .siepp-user-item__content,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:focus .siepp-user-item__content{
  color:#183f52;
  -webkit-text-fill-color:#183f52;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:link .siepp-user-item__name,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:visited .siepp-user-item__name,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:hover .siepp-user-item__name,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:focus .siepp-user-item__name{
  color:#173f52;
  -webkit-text-fill-color:#173f52;
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:link .siepp-user-item__meta,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:visited .siepp-user-item__meta,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:hover .siepp-user-item__meta,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame a.siepp-user-item:focus .siepp-user-item__meta{
  color:#526e7a;
  -webkit-text-fill-color:#526e7a;
}
/* Únicamente los elementos con fondo oscuro conservan letra blanca. */
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__index,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-user-list .siepp-user-item__badge,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-record-list .siepp-record-item__index,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-record-list .siepp-record-item__badge{
  color:#fff;
  -webkit-text-fill-color:#fff;
}
/* ===== FIN · CORRECCIÓN DE CONTRASTE ===== */

/* ===== SIEPP · CALIDAD DEL SERVICIO · INFORME VISUAL / SEMÁFORO BPM =====
 * Capa final de presentación del módulo.
 * - Un único tema claro.
 * - Botones pastel elegantes por función.
 * - Semáforo con colores reales (verde, amarillo, naranja y rojo).
 * - Reporte BPM con indicadores y visualizaciones animadas.
 * - Sin bordes de color alrededor de secciones o imágenes.
 */
body.siepp-module-calidad-servicio{
  --cs-cyan:#3d8ca0;
  --cs-cyan-soft:#e9f6f8;
  --cs-plum:#7565a4;
  --cs-plum-soft:#f1effa;
  --cs-gold:#bd8424;
  --cs-gold-soft:#fff6e3;
  --cs-green:#4c8f6b;
  --cs-green-soft:#edf8f1;
  --cs-blue:#4f7fb0;
  --cs-blue-soft:#eef5fb;
  --cs-coral:#bc6d73;
  --cs-coral-soft:#fbefef;

  --cs-sem-green:#2f9d67;
  --cs-sem-green-soft:#dff4e8;
  --cs-sem-green-ink:#1f7049;
  --cs-sem-yellow:#f3c63a;
  --cs-sem-yellow-soft:#fff3bd;
  --cs-sem-yellow-ink:#705700;
  --cs-sem-orange:#f08b32;
  --cs-sem-orange-soft:#ffe4c8;
  --cs-sem-orange-ink:#8a4900;
  --cs-sem-red:#df5965;
  --cs-sem-red-soft:#fbe1e4;
  --cs-sem-red-ink:#96343e;
}

/* Botones: pasteles, ligeros y con contraste alto. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn{
  min-height:34px;
  padding:8px 14px;
  border:0;
  border-radius:10px;
  box-shadow:0 4px 12px rgba(42,69,82,.08);
  font-weight:800;
  letter-spacing:.005em;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,background .16s ease;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn:hover,
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 7px 16px rgba(42,69,82,.13);
  filter:saturate(1.04);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn:active{
  transform:translateY(0);
  box-shadow:0 3px 8px rgba(42,69,82,.09);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--info{
  background:#dff1f7;
  color:#245f74;
  -webkit-text-fill-color:#245f74;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--success{
  background:#dff2e7;
  color:#286c4b;
  -webkit-text-fill-color:#286c4b;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--secondary{
  background:#ebe7f4;
  color:#5d4c77;
  -webkit-text-fill-color:#5d4c77;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--warning{
  background:#fff1bd;
  color:#745900;
  -webkit-text-fill-color:#745900;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn--danger{
  background:#f9e1e4;
  color:#913946;
  -webkit-text-fill-color:#913946;
}

/* Semáforo: cada código conserva su color real; nunca marrón o morado. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip{
  gap:6px;
  min-height:26px;
  padding:5px 10px;
  border:0;
  border-radius:999px;
  box-shadow:0 3px 8px rgba(45,66,77,.07);
  font:800 .64rem/1.05 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip::before{
  content:"";
  display:block;
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 0 3px rgba(255,255,255,.48);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--green,
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--success{
  background:var(--cs-sem-green-soft);
  color:var(--cs-sem-green-ink);
  -webkit-text-fill-color:var(--cs-sem-green-ink);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--yellow{
  background:var(--cs-sem-yellow-soft);
  color:var(--cs-sem-yellow-ink);
  -webkit-text-fill-color:var(--cs-sem-yellow-ink);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--orange{
  background:var(--cs-sem-orange-soft);
  color:var(--cs-sem-orange-ink);
  -webkit-text-fill-color:var(--cs-sem-orange-ink);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--red,
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--danger{
  background:var(--cs-sem-red-soft);
  color:var(--cs-sem-red-ink);
  -webkit-text-fill-color:var(--cs-sem-red-ink);
}
/* Compatibilidad con páginas anteriores donde AMARILLO/NARANJA aún compartan warning. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--warning:not(.siepp-status-chip--orange){
  background:var(--cs-sem-yellow-soft);
  color:var(--cs-sem-yellow-ink);
  -webkit-text-fill-color:var(--cs-sem-yellow-ink);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--neutral{
  background:#e8eef1;
  color:#536a75;
  -webkit-text-fill-color:#536a75;
}

/* Form blocks: más suaves y compactos; separación por superficie, nunca por marco. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-card :where(.siepp-form-block,.siepp-form-section){
  box-shadow:0 4px 14px rgba(43,68,80,.045);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-step{
  border-bottom-color:rgba(43,68,80,.08);
}

/* ---------- Informe final estadístico BPM ---------- */
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-app-main__frame .siepp-form-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfe 100%);
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-app-main__frame .siepp-form-card>h1{
  margin-bottom:7px;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score{
  display:grid;
  grid-template-columns:148px minmax(0,1fr);
  align-items:center;
  gap:16px;
  min-height:150px;
  padding:14px 16px;
  border:0;
  border-radius:14px;
  background:#f6fafb;
  box-shadow:none;
  text-align:left;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score.cs-sem-green{background:linear-gradient(135deg,#f2fbf6,#e4f6eb)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score.cs-sem-yellow{background:linear-gradient(135deg,#fffdf3,#fff4c7)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score.cs-sem-orange{background:linear-gradient(135deg,#fff9f2,#ffe6cc)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score.cs-sem-red{background:linear-gradient(135deg,#fff7f8,#fbe3e6)}

body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring{
  position:relative;
  width:132px;
  height:132px;
  margin:auto;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring svg{
  display:block;
  width:132px;
  height:132px;
  overflow:visible;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring__track,
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring__progress{
  fill:none;
  stroke-width:10;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring__track{stroke:#e5edef}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring__progress{
  stroke:#4e8ea0;
  stroke-linecap:round;
  transform:rotate(-90deg);
  transform-origin:66px 66px;
  transition:stroke-dashoffset 1.05s cubic-bezier(.2,.8,.2,1);
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-sem-green .cs-score-ring__progress{stroke:var(--cs-sem-green)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-sem-yellow .cs-score-ring__progress{stroke:var(--cs-sem-yellow)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-sem-orange .cs-score-ring__progress{stroke:var(--cs-sem-orange)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-sem-red .cs-score-ring__progress{stroke:var(--cs-sem-red)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring__center{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  pointer-events:none;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring__value{
  color:#173f52;
  -webkit-text-fill-color:#173f52;
  font:900 1.42rem/1 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring__label{
  margin-top:5px;
  color:#627883;
  -webkit-text-fill-color:#627883;
  font:700 .62rem/1.1 "Outfit","Lato",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.05em;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-details{
  min-width:0;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-details h2{
  margin:0 0 5px;
  color:#173f52;
  -webkit-text-fill-color:#173f52;
  font:900 1.72rem/1 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-details>p{
  max-width:700px;
  margin:7px 0 0;
  color:#526c78;
  -webkit-text-fill-color:#526c78;
  line-height:1.35;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-details .siepp-form-note{
  margin-top:8px;
  color:#6a7f88;
  -webkit-text-fill-color:#6a7f88;
}

/* KPIs: cuatro indicadores en una matriz compacta. */
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:9px 0 0;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi{
  position:relative;
  min-width:0;
  padding:10px 11px;
  border:0;
  border-radius:12px;
  background:#f1f7f9;
  box-shadow:0 4px 12px rgba(45,70,82,.05);
  overflow:hidden;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi:nth-child(2){background:#edf8f1}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi:nth-child(3){background:#fbe9eb}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi:nth-child(4){background:#fff6df}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi__value{
  display:block;
  margin-bottom:2px;
  color:#173f52;
  -webkit-text-fill-color:#173f52;
  font:900 1.08rem/1 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi__label{
  display:block;
  color:#627984;
  -webkit-text-fill-color:#627984;
  font:800 .62rem/1.15 "Outfit","Lato",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.035em;
}

/* Resumen visual por bloque: 2 columnas para no desperdiciar espacio. */
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-chart{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 10px;
  margin:0 0 9px;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-chart__title{
  grid-column:1/-1;
  margin:0 0 1px;
  color:#284b5a;
  -webkit-text-fill-color:#284b5a;
  font:800 .69rem/1.2 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar{
  display:grid;
  grid-template-columns:minmax(110px,1fr) minmax(115px,1.35fr) 52px;
  align-items:center;
  gap:7px;
  min-width:0;
  padding:7px 9px;
  border:0;
  border-radius:10px;
  background:#f7fafb;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar__name{
  min-width:0;
  overflow:hidden;
  color:#315563;
  -webkit-text-fill-color:#315563;
  font:800 .61rem/1.18 "Outfit","Lato",Arial,sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar__track{
  position:relative;
  height:8px;
  border-radius:999px;
  background:#e7eef1;
  overflow:hidden;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar__fill{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:#6b97a5;
  transition:width 1s cubic-bezier(.2,.8,.2,1);
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar.cs-sem-green{background:#f1faf5}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar.cs-sem-yellow{background:#fffaf0}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar.cs-sem-orange{background:#fff7ef}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar.cs-sem-red{background:#fff4f5}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar.cs-sem-green .cs-bpm-bar__fill{background:var(--cs-sem-green)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar.cs-sem-yellow .cs-bpm-bar__fill{background:var(--cs-sem-yellow)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar.cs-sem-orange .cs-bpm-bar__fill{background:var(--cs-sem-orange)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar.cs-sem-red .cs-bpm-bar__fill{background:var(--cs-sem-red)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar__value{
  color:#315563;
  -webkit-text-fill-color:#315563;
  font:900 .64rem/1 "Outfit","Lato",Arial,sans-serif;
  text-align:right;
}

/* La tabla mantiene lectura estadística y hereda una señal visual muy suave por estado. */
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo table.siepp-form-table tbody tr.cs-sem-green td{background:#f5fbf7}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo table.siepp-form-table tbody tr.cs-sem-yellow td{background:#fffdf5}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo table.siepp-form-table tbody tr.cs-sem-orange td{background:#fff9f4}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo table.siepp-form-table tbody tr.cs-sem-red td{background:#fff6f7}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo table.siepp-form-table tbody tr:hover td{filter:brightness(.985)}

/* Tarjetas de rangos: lectura inmediata del código y el intervalo. */
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-panel-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-card{
  margin:0;
  border:0;
  border-radius:12px;
  box-shadow:none;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-card.cs-sem-green{background:var(--cs-sem-green-soft)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-card.cs-sem-yellow{background:var(--cs-sem-yellow-soft)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-card.cs-sem-orange{background:var(--cs-sem-orange-soft)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-card.cs-sem-red{background:var(--cs-sem-red-soft)}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-card__body{
  padding:10px 8px;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-card__body>strong{
  display:block;
  margin-top:5px;
  color:#315563;
  -webkit-text-fill-color:#315563;
  font-size:.68rem;
}

@keyframes csReportRise{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score,
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi,
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar{
  animation:csReportRise .42s ease both;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi:nth-child(2){animation-delay:.04s}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi:nth-child(3){animation-delay:.08s}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi:nth-child(4){animation-delay:.12s}

@media(max-width:900px){
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-chart{grid-template-columns:1fr}
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score{grid-template-columns:1fr;text-align:center}
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-details>p{margin-left:auto;margin-right:auto}
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar{grid-template-columns:minmax(95px,1fr) minmax(100px,1.2fr) 46px}
}
@media(max-width:480px){
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-kpis,
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .siepp-form-block--4 .siepp-panel-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn,
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-ring__progress,
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar__fill{
    transition:none;
  }
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score,
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi,
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar{
    animation:none;
  }
}
/* ===== FIN · INFORME VISUAL / SEMÁFORO BPM ===== */

/* Ajustes finos del reporte estadístico. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--green::before,
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--success::before{background:var(--cs-sem-green)}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--yellow::before{background:var(--cs-sem-yellow)}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--orange::before{background:var(--cs-sem-orange)}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--red::before,
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--danger::before{background:var(--cs-sem-red)}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-status-chip--warning:not(.siepp-status-chip--orange)::before{background:var(--cs-sem-yellow)}

body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-original-value{display:none}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-eyebrow{
  margin:0 0 7px;
  color:#5c7480;
  -webkit-text-fill-color:#5c7480;
  font:800 .67rem/1.15 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.045em;
  text-transform:uppercase;
}
body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-score-details>.siepp-status-chip{margin:0 0 2px}

@media print{
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo,
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo *{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-score,
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-kpi,
  body.siepp-module-calidad-servicio.cs-page-bpm-semaforo .cs-bpm-bar{
    animation:none;
  }
}

/* ========================================================================== 
   SIEPP · SISTEMA GLOBAL CENTRALIZADO DE BOTONES POR ACCIÓN · 2026-08-19
   --------------------------------------------------------------------------
   Una sola línea gráfica para TODOS los módulos.
   - Fondos sólidos/gradientes profundos y elegantes: nunca pastel en botones.
   - Texto e iconos siempre blancos para asegurar contraste.
   - El color comunica la acción mediante las clases semánticas existentes.
   - Este bloque es deliberadamente global y se ubica al final del CSS para
     reemplazar personalizaciones locales antiguas sin tocar los PHP.
   ========================================================================== */

body.siepp-global{
  --siepp-action-primary-a:#7f5c77;
  --siepp-action-primary-b:#6e4e67;
  --siepp-action-secondary-a:#687d89;
  --siepp-action-secondary-b:#586d79;
  --siepp-action-info-a:#46859a;
  --siepp-action-info-b:#377489;
  --siepp-action-success-a:#4d8b6d;
  --siepp-action-success-b:#3f785d;
  --siepp-action-warning-a:#b17a2e;
  --siepp-action-warning-b:#97631f;
  --siepp-action-danger-a:#a85a67;
  --siepp-action-danger-b:#914854;
  --siepp-action-shadow:0 6px 14px rgba(35,58,74,.14);
  --siepp-action-shadow-hover:0 9px 20px rgba(35,58,74,.20);
}

/* Base única: botones de clase SIEPP + controles nativos de acción. */
body.siepp-global .siepp-app-main__frame :where(
  .siepp-btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  button:not(.siepp-captcha-refresh):not(.siepp-modal-close)
){
  min-height:36px;
  padding:8px 15px;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg,var(--siepp-action-info-a),var(--siepp-action-info-b));
  color:#fff;
  -webkit-text-fill-color:#fff;
  box-shadow:var(--siepp-action-shadow);
  font-family:"Outfit","Lato",Arial,sans-serif;
  font-weight:800;
  letter-spacing:.004em;
  text-shadow:0 1px 1px rgba(0,0,0,.08);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}

body.siepp-global .siepp-app-main__frame :where(
  .siepp-btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  button:not(.siepp-captcha-refresh):not(.siepp-modal-close)
) :where(span,strong,small,i,svg){
  color:#fff;
  -webkit-text-fill-color:#fff;
}

body.siepp-global .siepp-app-main__frame :where(
  .siepp-btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  button:not(.siepp-captcha-refresh):not(.siepp-modal-close)
):hover,
body.siepp-global .siepp-app-main__frame :where(
  .siepp-btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  button:not(.siepp-captcha-refresh):not(.siepp-modal-close)
):focus-visible{
  color:#fff;
  -webkit-text-fill-color:#fff;
  transform:translateY(-1px);
  filter:brightness(1.045) saturate(1.03);
  box-shadow:var(--siepp-action-shadow-hover);
  outline:none;
}

body.siepp-global .siepp-app-main__frame :where(
  .siepp-btn,
  input[type="submit"],
  input[type="button"],
  input[type="reset"],
  button:not(.siepp-captcha-refresh):not(.siepp-modal-close)
):active{
  transform:translateY(0);
  filter:brightness(.97);
  box-shadow:0 3px 8px rgba(35,58,74,.13);
}

/* --------------------------------------------------------------------------
   MAPA SEMÁNTICO DE ACCIONES
   primary   = continuar / ingresar / confirmar / siguiente
   secondary = volver / cerrar / cancelar no destructivo / navegación auxiliar
   info      = buscar / consultar / ver / imprimir / cargar
   success   = guardar / registrar / agregar / finalizar correctamente
   warning   = editar / modificar / cambiar / acciones que requieren atención
   danger    = eliminar / retirar / inhabilitar / cancelar destructivo
   -------------------------------------------------------------------------- */
body.siepp-global .siepp-app-main__frame .siepp-btn.siepp-btn--primary,
body.siepp-global .siepp-app-main__frame .siepp-btn.siepp-btn--home{
  background:linear-gradient(135deg,var(--siepp-action-primary-a),var(--siepp-action-primary-b));
}
body.siepp-global .siepp-app-main__frame .siepp-btn.siepp-btn--secondary,
body.siepp-global .siepp-app-main__frame .siepp-btn.siepp-btn--neutral{
  background:linear-gradient(135deg,var(--siepp-action-secondary-a),var(--siepp-action-secondary-b));
}
body.siepp-global .siepp-app-main__frame .siepp-btn.siepp-btn--info{
  background:linear-gradient(135deg,var(--siepp-action-info-a),var(--siepp-action-info-b));
}
body.siepp-global .siepp-app-main__frame .siepp-btn.siepp-btn--success{
  background:linear-gradient(135deg,var(--siepp-action-success-a),var(--siepp-action-success-b));
}
body.siepp-global .siepp-app-main__frame .siepp-btn.siepp-btn--warning{
  background:linear-gradient(135deg,var(--siepp-action-warning-a),var(--siepp-action-warning-b));
}
body.siepp-global .siepp-app-main__frame .siepp-btn.siepp-btn--danger{
  background:linear-gradient(135deg,var(--siepp-action-danger-a),var(--siepp-action-danger-b));
}

/* Cabecera/sesión: conserva el mismo lenguaje cromático global. */
body.siepp-global .siepp-action-btn--profile{
  background:linear-gradient(135deg,var(--siepp-action-info-a),var(--siepp-action-info-b));
  color:#fff;
  -webkit-text-fill-color:#fff;
}
body.siepp-global .siepp-action-btn--logout{
  background:linear-gradient(135deg,var(--siepp-action-danger-a),var(--siepp-action-danger-b));
  color:#fff;
  -webkit-text-fill-color:#fff;
}

/* Calidad del Servicio ya NO utiliza botones pastel: hereda exactamente el
   sistema centralizado anterior. Se mantienen sus visualizaciones pastel,
   semáforos y fondos estadísticos, pero no los botones de acción. */
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn.siepp-btn--primary{
  background:linear-gradient(135deg,var(--siepp-action-primary-a),var(--siepp-action-primary-b));
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn.siepp-btn--secondary,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn.siepp-btn--neutral{
  background:linear-gradient(135deg,var(--siepp-action-secondary-a),var(--siepp-action-secondary-b));
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn.siepp-btn--info{
  background:linear-gradient(135deg,var(--siepp-action-info-a),var(--siepp-action-info-b));
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn.siepp-btn--success{
  background:linear-gradient(135deg,var(--siepp-action-success-a),var(--siepp-action-success-b));
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn.siepp-btn--warning{
  background:linear-gradient(135deg,var(--siepp-action-warning-a),var(--siepp-action-warning-b));
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn.siepp-btn--danger{
  background:linear-gradient(135deg,var(--siepp-action-danger-a),var(--siepp-action-danger-b));
}
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn,
body.siepp-global.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-btn *{
  color:#fff;
  -webkit-text-fill-color:#fff;
}

/* Deshabilitados: siguen siendo legibles; se perciben inactivos sin desaparecer. */
body.siepp-global .siepp-app-main__frame :where(
  .siepp-btn:disabled,
  .siepp-btn[disabled],
  .siepp-btn[aria-disabled="true"],
  input[type="submit"]:disabled,
  input[type="button"]:disabled,
  input[type="reset"]:disabled,
  button:disabled
){
  opacity:.64;
  filter:saturate(.72);
  color:#fff;
  -webkit-text-fill-color:#fff;
  box-shadow:none;
  transform:none;
}

@media (prefers-reduced-motion:reduce){
  body.siepp-global .siepp-app-main__frame :where(
    .siepp-btn,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    button:not(.siepp-captcha-refresh):not(.siepp-modal-close)
  ){
    transition:none;
  }
}
/* ===== FIN · SISTEMA GLOBAL CENTRALIZADO DE BOTONES POR ACCIÓN ===== */

/* ========================================================================== 
   SIEPP · CALIDAD DEL SERVICIO · REPORTE BPM COMPACTO + ESTADÍSTICA ANUAL
   2026-08-19
   --------------------------------------------------------------------------
   - Prioriza lectura tipo informe y eficiencia vertical.
   - El detalle tabular permanece siempre visible y compacto.
   - El modal anual se carga solo al solicitarlo.
   - Los colores semánticos se reservan para datos/semáforos; los botones
     continúan usando el sistema global centralizado por acción.
   ========================================================================== */

[data-siepp-report="bpm-semaforo"]{
  --cs-report-gap:7px;
}

[data-siepp-report="bpm-semaforo"].siepp-form-card{
  padding:12px 14px;
}
[data-siepp-report="bpm-semaforo"]>h1{
  margin:0 0 5px;
  padding-bottom:7px;
  font-size:1.42rem;
}
[data-siepp-report="bpm-semaforo"] .siepp-form-section,
[data-siepp-report="bpm-semaforo"] .siepp-form-block{
  margin:0 0 var(--cs-report-gap);
}
[data-siepp-report="bpm-semaforo"] .siepp-form-step{
  min-height:28px;
  padding:5px 7px;
  font-size:.72rem;
}
[data-siepp-report="bpm-semaforo"] .siepp-form-step>span{
  width:22px;
  height:22px;
  min-width:22px;
  font-size:.66rem;
}

/* Contexto en una sola franja compacta. */
[data-siepp-report="bpm-semaforo"] .cs-bpm-context-wrap .siepp-form-fragment{
  margin:0 0 var(--cs-report-gap);
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-context-wrap .siepp-form-section{
  padding:0;
  overflow:hidden;
  background:#f7fafb;
  box-shadow:none;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-context-wrap .siepp-form-step{
  min-height:26px;
  background:#eef6f8;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-context-wrap .siepp-table-responsive{
  margin:0;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-context-wrap table{
  margin:0;
  table-layout:fixed;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-context-wrap th{
  padding:4px 6px;
  font-size:.56rem;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-context-wrap td{
  padding:5px 6px;
  font-size:.61rem;
  line-height:1.12;
}

/* Periodo + acciones en una matriz horizontal. */
[data-siepp-report="bpm-semaforo"] .cs-bpm-period-section{
  padding:0 0 6px;
  background:#fbfcfd;
  box-shadow:none;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-period-form{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  align-items:end;
  gap:8px 10px;
  margin:0;
  padding:5px 7px 0;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-period-field{
  display:grid;
  gap:3px;
  margin:0;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-period-field>strong{
  font-size:.66rem;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-period-field select{
  min-height:34px;
  margin:0;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-period-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  margin:0;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-period-actions .siepp-btn{
  min-height:34px;
  white-space:nowrap;
}

/* Resultado general y KPIs en paralelo para aprovechar el ancho. */
[data-siepp-report="bpm-semaforo"] [data-bpm-section="result"]{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);
  align-items:stretch;
  gap:7px 9px;
  padding:0 0 6px;
  background:#fff;
  box-shadow:none;
}
[data-siepp-report="bpm-semaforo"] [data-bpm-section="result"]>.siepp-form-step{
  grid-column:1/-1;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-score{
  grid-template-columns:106px minmax(0,1fr);
  gap:10px;
  min-height:104px;
  margin:0;
  padding:8px 10px;
  border-radius:12px;
}
[data-siepp-report="bpm-semaforo"] .cs-score-ring,
[data-siepp-report="bpm-semaforo"] .cs-score-ring svg{
  width:94px;
  height:94px;
}
[data-siepp-report="bpm-semaforo"] .cs-score-ring__track,
[data-siepp-report="bpm-semaforo"] .cs-score-ring__progress{
  stroke-width:9;
}
[data-siepp-report="bpm-semaforo"] .cs-score-ring__value{
  font-size:1.18rem;
}
[data-siepp-report="bpm-semaforo"] .cs-score-ring__label{
  margin-top:3px;
  font-size:.54rem;
}
[data-siepp-report="bpm-semaforo"] .cs-score-eyebrow{
  margin-bottom:4px;
  font-size:.57rem;
}
[data-siepp-report="bpm-semaforo"] .cs-score-details>p,
[data-siepp-report="bpm-semaforo"] .cs-score-details .siepp-form-note{
  margin-top:4px;
  font-size:.61rem;
  line-height:1.2;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-kpis{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:stretch;
  gap:7px;
  margin:0;
}
[data-siepp-report="bpm-semaforo"] .cs-kpi{
  display:flex;
  min-height:48px;
  flex-direction:column;
  justify-content:center;
  padding:7px 9px;
  border-radius:10px;
}
[data-siepp-report="bpm-semaforo"] .cs-kpi__value{
  margin-bottom:1px;
  font-size:.98rem;
}
[data-siepp-report="bpm-semaforo"] .cs-kpi__label{
  font-size:.53rem;
}

/* Barras primero; tabla detallada plegada por defecto. */
[data-siepp-report="bpm-semaforo"] [data-bpm-section="detail"]{
  padding:0 0 6px;
  background:#fff;
  box-shadow:none;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-chart{
  gap:5px 8px;
  margin:5px 7px 6px;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-bar{
  grid-template-columns:minmax(105px,1fr) minmax(105px,1.25fr) 48px;
  gap:6px;
  padding:5px 7px;
  border-radius:8px;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-bar__name{
  font-size:.56rem;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-bar__track{
  height:6px;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-bar__value{
  font-size:.58rem;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table{
  margin:3px 7px 0;
  border-radius:10px;
  background:#f6f9fa;
  overflow:hidden;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:34px;
  padding:7px 10px;
  color:#315563;
  -webkit-text-fill-color:#315563;
  cursor:pointer;
  list-style:none;
  font:800 .64rem/1.1 "Outfit","Lato",Arial,sans-serif;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table>summary::-webkit-details-marker{display:none}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table>summary::after{
  content:"+";
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#e3eef1;
  color:#315563;
  -webkit-text-fill-color:#315563;
  font-size:.9rem;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table[open]>summary::after{content:"−"}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table>summary small{
  margin-left:auto;
  color:#70848d;
  -webkit-text-fill-color:#70848d;
  font-size:.56rem;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table .siepp-table-responsive{
  max-height:300px;
  margin:0;
  overflow:auto;
  background:#fff;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table th,
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table td{
  padding:5px 7px;
  font-size:.58rem;
}

/* Rangos como leyenda compacta. */
[data-siepp-report="bpm-semaforo"] .cs-bpm-ranges-compact{
  padding:0 0 6px;
  background:#fff;
  box-shadow:none;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-ranges-compact .siepp-panel-grid{
  gap:6px;
  margin:5px 7px 0;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-ranges-compact .siepp-card__body{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:6px 7px;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-ranges-compact .siepp-card__body>strong{
  margin:0;
  font-size:.58rem;
  white-space:nowrap;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-ranges-compact .siepp-status-chip{
  min-height:22px;
  padding:4px 7px;
  font-size:.55rem;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-footer-actions{
  gap:7px;
  margin:3px 0 0;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-footer-actions form{margin:0}

/* ----------------------- Modal anual bajo demanda ----------------------- */
body.siepp-module-calidad-servicio .cs-annual-modal-dialog{
  width:min(1120px,96vw);
  max-height:92vh;
  border:0;
  border-radius:16px;
  box-shadow:0 24px 70px rgba(24,40,50,.28);
}
body.siepp-module-calidad-servicio .cs-annual-modal-dialog .siepp-modal-header{
  padding:11px 14px;
  background:linear-gradient(135deg,#f6fafb,#eef5f7);
}
body.siepp-module-calidad-servicio .cs-annual-modal-dialog .siepp-modal-title{
  font-size:1.05rem;
}
body.siepp-module-calidad-servicio .cs-annual-modal-body{
  padding:10px 12px;
  background:#fbfdfe;
}
body.siepp-module-calidad-servicio .cs-annual-modal-dialog .siepp-modal-actions{
  padding:9px 12px;
}

.cs-annual-loading{
  display:grid;
  place-items:center;
  gap:7px;
  min-height:210px;
  color:#4f6975;
  -webkit-text-fill-color:#4f6975;
  text-align:center;
}
.cs-annual-loading small{
  color:#7a8c94;
  -webkit-text-fill-color:#7a8c94;
}
.cs-annual-loading__pulse{
  width:34px;
  height:34px;
  border-radius:50%;
  background:#dcebef;
  box-shadow:0 0 0 0 rgba(70,133,154,.22);
  animation:csAnnualPulse 1.2s ease-out infinite;
}
@keyframes csAnnualPulse{
  0%{transform:scale(.92);box-shadow:0 0 0 0 rgba(70,133,154,.24)}
  75%,100%{transform:scale(1);box-shadow:0 0 0 18px rgba(70,133,154,0)}
}

.cs-annual-report{
  display:grid;
  gap:8px;
  color:#244b5a;
  -webkit-text-fill-color:#244b5a;
}
.cs-annual-header{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  padding:8px 10px;
  border-radius:12px;
  background:#eef6f8;
}
.cs-annual-heading{
  display:grid;
  gap:1px;
  min-width:0;
}
.cs-annual-eyebrow{
  color:#6b818b;
  -webkit-text-fill-color:#6b818b;
  font:800 .58rem/1.1 "Outfit","Lato",Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.cs-annual-heading>strong{
  overflow:hidden;
  color:#173f52;
  -webkit-text-fill-color:#173f52;
  font:900 .93rem/1.15 "Outfit","Lato",Arial,sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cs-annual-heading>small{
  overflow:hidden;
  color:#637a85;
  -webkit-text-fill-color:#637a85;
  font-size:.62rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cs-annual-year-field{
  display:grid;
  grid-template-columns:auto 100px;
  align-items:center;
  gap:7px;
  margin:0;
  font:800 .63rem/1 "Outfit","Lato",Arial,sans-serif;
}
.cs-annual-year-field select{
  min-height:32px;
  margin:0;
  padding:5px 28px 5px 8px;
}

.cs-annual-summary{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:8px;
}
.cs-annual-score{
  display:grid;
  align-content:center;
  justify-items:center;
  gap:4px;
  min-height:108px;
  padding:9px;
  border-radius:12px;
  background:#f1f7f9;
}
.cs-annual-summary.cs-sem-green .cs-annual-score{background:#e6f6ed}
.cs-annual-summary.cs-sem-yellow .cs-annual-score{background:#fff5ca}
.cs-annual-summary.cs-sem-orange .cs-annual-score{background:#ffe8d1}
.cs-annual-summary.cs-sem-red .cs-annual-score{background:#fbe5e8}
.cs-annual-score>span:first-child{
  color:#637a85;
  -webkit-text-fill-color:#637a85;
  font:800 .58rem/1.1 "Outfit","Lato",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.cs-annual-score>strong{
  color:#173f52;
  -webkit-text-fill-color:#173f52;
  font:900 1.75rem/1 "Outfit","Lato",Arial,sans-serif;
}
.cs-annual-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.cs-annual-kpi{
  display:grid;
  align-content:center;
  gap:2px;
  min-width:0;
  min-height:108px;
  padding:8px 9px;
  border-radius:12px;
  background:#f1f7f9;
}
.cs-annual-kpi--positive{background:#edf8f1}
.cs-annual-kpi--negative{background:#fbe9eb}
.cs-annual-kpi--neutral{background:#fff5df}
.cs-annual-kpi>span{
  color:#667c86;
  -webkit-text-fill-color:#667c86;
  font:800 .55rem/1.12 "Outfit","Lato",Arial,sans-serif;
  text-transform:uppercase;
}
.cs-annual-kpi>strong{
  color:#173f52;
  -webkit-text-fill-color:#173f52;
  font:900 1.22rem/1 "Outfit","Lato",Arial,sans-serif;
}
.cs-annual-kpi>small{
  color:#7a8b93;
  -webkit-text-fill-color:#7a8b93;
  font-size:.54rem;
}

.cs-annual-highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.cs-annual-highlights>div{
  display:grid;
  gap:1px;
  padding:7px 9px;
  border-radius:10px;
  background:#f7fafb;
}
.cs-annual-highlights span{
  color:#72858e;
  -webkit-text-fill-color:#72858e;
  font:800 .53rem/1.1 "Outfit","Lato",Arial,sans-serif;
  text-transform:uppercase;
}
.cs-annual-highlights strong{
  color:#254d5d;
  -webkit-text-fill-color:#254d5d;
  font:900 .69rem/1.15 "Outfit","Lato",Arial,sans-serif;
}
.cs-annual-highlights small{
  color:#6f828a;
  -webkit-text-fill-color:#6f828a;
  font-size:.55rem;
}

.cs-annual-section{
  padding:8px 9px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(43,68,80,.045);
}
.cs-annual-section-title{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.cs-annual-section-title strong{
  color:#264d5d;
  -webkit-text-fill-color:#264d5d;
  font:900 .69rem/1.1 "Outfit","Lato",Arial,sans-serif;
}
.cs-annual-section-title span{
  color:#7b8b92;
  -webkit-text-fill-color:#7b8b92;
  font-size:.54rem;
}

/* Doce meses en una sola visualización horizontal. */
.cs-annual-trend{
  display:grid;
  grid-template-columns:repeat(12,minmax(36px,1fr));
  align-items:end;
  gap:5px;
  min-height:150px;
  padding:2px 2px 0;
}
.cs-annual-month{
  display:grid;
  grid-template-rows:20px 104px 18px;
  align-items:end;
  justify-items:center;
  gap:2px;
  min-width:0;
}
.cs-annual-month>strong{
  color:#355967;
  -webkit-text-fill-color:#355967;
  font:900 .54rem/1 "Outfit","Lato",Arial,sans-serif;
  white-space:nowrap;
}
.cs-annual-month__track{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  border-radius:8px 8px 4px 4px;
  background:#edf2f4;
  overflow:hidden;
}
.cs-annual-month__track>i{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:block;
  height:0;
  border-radius:8px 8px 3px 3px;
  background:#8daab4;
  transition:height .9s cubic-bezier(.2,.8,.2,1);
}
.cs-annual-month.cs-sem-green .cs-annual-month__track>i{background:var(--cs-sem-green)}
.cs-annual-month.cs-sem-yellow .cs-annual-month__track>i{background:var(--cs-sem-yellow)}
.cs-annual-month.cs-sem-orange .cs-annual-month__track>i{background:var(--cs-sem-orange)}
.cs-annual-month.cs-sem-red .cs-annual-month__track>i{background:var(--cs-sem-red)}
.cs-annual-month.is-empty .cs-annual-month__track{
  background:repeating-linear-gradient(135deg,#eef2f3,#eef2f3 5px,#f8fafb 5px,#f8fafb 10px);
}
.cs-annual-month>small{
  color:#617985;
  -webkit-text-fill-color:#617985;
  font:800 .55rem/1 "Outfit","Lato",Arial,sans-serif;
}

.cs-annual-bottom-grid{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:8px;
}
.cs-annual-range-distribution{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.cs-annual-range-distribution>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:2px 7px;
  padding:7px 8px;
  border-radius:10px;
  background:#f7fafb;
}
.cs-annual-range-distribution>div.cs-sem-green{background:#f0faf4}
.cs-annual-range-distribution>div.cs-sem-yellow{background:#fffaf0}
.cs-annual-range-distribution>div.cs-sem-orange{background:#fff6ed}
.cs-annual-range-distribution>div.cs-sem-red{background:#fff3f4}
.cs-annual-range-distribution strong{
  grid-row:1/3;
  grid-column:2;
  color:#173f52;
  -webkit-text-fill-color:#173f52;
  font:900 1.1rem/1 "Outfit","Lato",Arial,sans-serif;
}
.cs-annual-range-distribution small{
  color:#778991;
  -webkit-text-fill-color:#778991;
  font-size:.52rem;
}
.cs-annual-range-distribution .siepp-status-chip{
  justify-self:start;
  min-height:22px;
  padding:4px 7px;
  font-size:.52rem;
}
.cs-annual-table-section .siepp-table-responsive{
  max-height:212px;
  overflow:auto;
}
.cs-annual-table{
  margin:0;
}
.cs-annual-table th,
.cs-annual-table td{
  padding:4px 6px;
  font-size:.55rem;
}
.cs-annual-table .siepp-status-chip{
  min-height:20px;
  padding:3px 6px;
  font-size:.5rem;
}

.cs-annual-report.is-ready .cs-annual-summary,
.cs-annual-report.is-ready .cs-annual-highlights,
.cs-annual-report.is-ready .cs-annual-section{
  animation:csReportRise .38s ease both;
}
.cs-annual-report.is-ready .cs-annual-highlights{animation-delay:.04s}
.cs-annual-report.is-ready .cs-annual-section{animation-delay:.08s}

@media(max-width:980px){
  [data-siepp-report="bpm-semaforo"] [data-bpm-section="result"]{grid-template-columns:1fr}
  [data-siepp-report="bpm-semaforo"] .cs-bpm-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cs-annual-summary{grid-template-columns:150px minmax(0,1fr)}
  .cs-annual-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cs-annual-kpi{min-height:51px}
  .cs-annual-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  [data-siepp-report="bpm-semaforo"] .cs-bpm-period-form{grid-template-columns:1fr}
  [data-siepp-report="bpm-semaforo"] .cs-bpm-period-actions{justify-content:flex-start}
  [data-siepp-report="bpm-semaforo"] .cs-bpm-chart{grid-template-columns:1fr}
  .cs-annual-header{align-items:stretch;flex-direction:column}
  .cs-annual-year-field{grid-template-columns:1fr}
  .cs-annual-summary{grid-template-columns:1fr}
  .cs-annual-score{min-height:88px}
  .cs-annual-highlights{grid-template-columns:1fr}
  .cs-annual-trend{overflow-x:auto;grid-template-columns:repeat(12,minmax(48px,1fr));padding-bottom:5px}
}
@media(max-width:520px){
  [data-siepp-report="bpm-semaforo"] .cs-bpm-score{grid-template-columns:1fr}
  [data-siepp-report="bpm-semaforo"] .cs-bpm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  [data-siepp-report="bpm-semaforo"] .cs-bpm-period-actions{align-items:stretch;flex-direction:column}
  .cs-annual-kpis{grid-template-columns:1fr 1fr}
  .cs-annual-range-distribution{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .cs-annual-loading__pulse,
  .cs-annual-report.is-ready .cs-annual-summary,
  .cs-annual-report.is-ready .cs-annual-highlights,
  .cs-annual-report.is-ready .cs-annual-section{animation:none}
  .cs-annual-month__track>i{transition:none}
}
@media print{
  #bpmAnnualModal{display:none !important}
  [data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table{display:block}
  [data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table>summary{display:none}
  [data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table>.siepp-table-responsive{display:block}
}
/* ===== FIN · REPORTE BPM COMPACTO + ESTADÍSTICA ANUAL ===== */


/* ========================================================================== 
   SIEPP · BPM · CORRECCIÓN DETALLE TABULAR SIEMPRE VISIBLE
   2026-08-19
   --------------------------------------------------------------------------
   La tabla de detalle forma parte del informe y no debe ocultarse bajo demanda.
   Se mantiene compacta para conservar eficiencia de espacio.
   ========================================================================== */
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table--always{
  display:block;
  margin:3px 7px 0;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:30px;
  padding:5px 8px;
  background:#f0f6f8;
  color:#315563;
  -webkit-text-fill-color:#315563;
  font:800 .62rem/1.1 "Outfit","Lato",Arial,sans-serif;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-head small{
  color:#70848d;
  -webkit-text-fill-color:#70848d;
  font-size:.54rem;
  font-weight:700;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table--always .siepp-table-responsive{
  max-height:none;
  margin:0;
  overflow-x:auto;
  overflow-y:visible;
  background:#fff;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table--always table{
  margin:0;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table--always th,
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table--always td{
  padding:4px 6px;
  font-size:.57rem;
  line-height:1.12;
}
[data-siepp-report="bpm-semaforo"] .cs-bpm-detail-table--always th{
  position:sticky;
  top:0;
  z-index:1;
}
@media (max-width:760px){
  [data-siepp-report="bpm-semaforo"] .cs-bpm-detail-head{
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
}

/* ===== SIEPP · CALIDAD DEL SERVICIO · FLUJOS BPM SECCIONADOS Y COMPACTOS =====
 * Ingreso de calificación, ingreso de ficha de mejora y ficha de mejora continua.
 * Presentación solamente: no altera POST, IDs, estados ni reglas de negocio.
 */
body.siepp-module-calidad-servicio .cs-bpm-workflow .siepp-form-card{
  padding:11px 13px 12px;
}
body.siepp-module-calidad-servicio .cs-bpm-workflow .siepp-form-fragment{
  margin:0;
}
body.siepp-module-calidad-servicio .cs-bpm-workflow .siepp-form-fragment>.siepp-form-section{
  margin:0 0 7px;
}
body.siepp-module-calidad-servicio .cs-bpm-workflow .cs-bpm-form-overview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:0 0 7px;
}
body.siepp-module-calidad-servicio .cs-bpm-overview-card{
  min-width:0;
  min-height:52px;
  padding:8px 10px;
  border:0;
  border-radius:10px;
  background:#eef6f7;
  box-shadow:none;
}
body.siepp-module-calidad-servicio .cs-bpm-overview-card strong{
  display:block;
  margin:0 0 2px;
  color:#173f51;
  font:800 .92rem/1.05 "Outfit","Lato",Arial,sans-serif;
  white-space:normal;
}
body.siepp-module-calidad-servicio .cs-bpm-overview-card span{
  display:block;
  color:#607883;
  font:700 .62rem/1.15 "Lato",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.025em;
}
body.siepp-module-calidad-servicio .cs-bpm-overview-card--cyan{background:#e8f5f7}
body.siepp-module-calidad-servicio .cs-bpm-overview-card--green{background:#eaf6ef}
body.siepp-module-calidad-servicio .cs-bpm-overview-card--gold{background:#fbf1dc}
body.siepp-module-calidad-servicio .cs-bpm-overview-card--blue{background:#edf2fa}
body.siepp-module-calidad-servicio .cs-bpm-overview-card--coral{background:#faecec}

body.siepp-module-calidad-servicio .cs-bpm-intro-note{
  margin:0 0 7px;
}
body.siepp-module-calidad-servicio .cs-bpm-step-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:1px;
}
body.siepp-module-calidad-servicio .cs-bpm-step-copy>strong{
  color:#173f51;
  font:800 .78rem/1.15 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio .cs-bpm-step-copy>small{
  color:#6b7f88;
  font:700 .60rem/1.15 "Lato",Arial,sans-serif;
}

body.siepp-module-calidad-servicio .cs-bpm-entry-form{
  width:100%;
  margin:0;
}
body.siepp-module-calidad-servicio .cs-bpm-entry-form>.cs-bpm-entry-block{
  margin:0;
  padding:8px 10px 9px;
}
body.siepp-module-calidad-servicio .cs-bpm-entry-form .siepp-form-step{
  margin-bottom:5px;
  padding-bottom:5px;
}
body.siepp-module-calidad-servicio .cs-bpm-entry-table-wrap{
  margin-top:3px;
}
body.siepp-module-calidad-servicio .cs-bpm-entry-table .cs-bpm-col-number{width:6%}
body.siepp-module-calidad-servicio .cs-bpm-entry-table .cs-bpm-col-question{width:46%}
body.siepp-module-calidad-servicio .cs-bpm-entry-table .cs-bpm-col-answer{width:18%}
body.siepp-module-calidad-servicio .cs-bpm-entry-table .cs-bpm-col-observation{width:30%}
body.siepp-module-calidad-servicio .cs-bpm-entry-table :where(th,td){
  padding:5px 6px;
  vertical-align:middle;
}
body.siepp-module-calidad-servicio .cs-bpm-entry-table td.cs-bpm-question-number{
  text-align:center;
  color:#2c6374;
  white-space:nowrap;
}
body.siepp-module-calidad-servicio .cs-bpm-entry-table td.cs-bpm-question-copy{
  color:#294b59;
  font-weight:700;
  line-height:1.22;
}
body.siepp-module-calidad-servicio .cs-bpm-entry-table select{
  width:100%;
  min-width:110px;
  min-height:30px;
}
body.siepp-module-calidad-servicio .cs-bpm-entry-table textarea{
  width:100%;
  min-height:43px;
  max-height:78px;
  resize:vertical;
}
body.siepp-module-calidad-servicio .cs-bpm-wizard-actions{
  position:relative;
  margin-top:7px;
  padding-top:2px;
}

body.siepp-module-calidad-servicio .cs-bpm-period-section{
  margin-bottom:7px;
}
body.siepp-module-calidad-servicio .cs-bpm-period-inline{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  gap:7px;
  align-items:end;
  margin:0;
}
body.siepp-module-calidad-servicio .cs-bpm-period-field{
  min-width:0;
}
body.siepp-module-calidad-servicio .cs-bpm-period-inline>.siepp-btn{
  min-width:100px;
  margin:0;
}
body.siepp-module-calidad-servicio .cs-bpm-state-section{
  margin-top:0;
}
body.siepp-module-calidad-servicio .cs-bpm-actions-row{
  align-items:center;
  gap:7px;
}
body.siepp-module-calidad-servicio .cs-bpm-actions-row>form{
  margin:0;
}

body.siepp-module-calidad-servicio .cs-bpm-improvement-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}
body.siepp-module-calidad-servicio .cs-bpm-improvement-item{
  margin:0;
  padding:7px 8px 8px;
  border:0;
  border-radius:9px;
  background:rgba(255,255,255,.80);
  box-shadow:0 2px 7px rgba(43,69,81,.035);
}
body.siepp-module-calidad-servicio .cs-bpm-improvement-item__head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:7px;
  margin:0 0 5px;
  color:#173f51;
  font:800 .72rem/1.2 "Outfit","Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio .cs-bpm-item-index{
  display:inline-grid;
  place-items:center;
  min-width:28px;
  min-height:23px;
  padding:3px 6px;
  border-radius:999px;
  background:var(--cs-block-accent,var(--cs-cyan));
  color:#fff;
  font-size:.61rem;
}
body.siepp-module-calidad-servicio .cs-bpm-finding-note{
  margin:0 0 6px;
  padding:6px 8px;
  border:0;
  border-radius:7px;
  background:#fff4e7;
  color:#654b2d;
  font:600 .65rem/1.25 "Lato",Arial,sans-serif;
}
body.siepp-module-calidad-servicio .cs-bpm-finding-note>span{
  display:inline-block;
  margin-right:6px;
  color:#895c25;
  font-weight:800;
}
body.siepp-module-calidad-servicio .cs-bpm-improvement-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:6px 8px;
  align-items:start;
}
body.siepp-module-calidad-servicio .cs-bpm-field{
  min-width:0;
}
body.siepp-module-calidad-servicio .cs-bpm-field--half{grid-column:span 6}
body.siepp-module-calidad-servicio .cs-bpm-field--third{grid-column:span 4}
body.siepp-module-calidad-servicio .cs-bpm-field--two-thirds{grid-column:span 8}
body.siepp-module-calidad-servicio .cs-bpm-improvement-grid textarea{
  min-height:52px;
  max-height:88px;
}
body.siepp-module-calidad-servicio .cs-bpm-improvement-grid input[type="date"]{
  width:100%;
  min-height:35px;
}

body.siepp-module-calidad-servicio .cs-bpm-readonly-block{
  margin:0 0 7px;
  padding:8px 10px 9px;
}
body.siepp-module-calidad-servicio .cs-bpm-improvement-table-wrap{
  margin-top:3px;
}
body.siepp-module-calidad-servicio .cs-bpm-improvement-table{
  table-layout:fixed;
}
body.siepp-module-calidad-servicio .cs-bpm-improvement-table th:nth-child(1){width:27%}
body.siepp-module-calidad-servicio .cs-bpm-improvement-table th:nth-child(2){width:20%}
body.siepp-module-calidad-servicio .cs-bpm-improvement-table th:nth-child(3){width:22%}
body.siepp-module-calidad-servicio .cs-bpm-improvement-table th:nth-child(4){width:11%}
body.siepp-module-calidad-servicio .cs-bpm-improvement-table th:nth-child(5){width:20%}
body.siepp-module-calidad-servicio .cs-bpm-improvement-table :where(th,td){
  padding:5px 6px;
  overflow-wrap:anywhere;
  word-break:normal;
}
body.siepp-module-calidad-servicio .cs-bpm-readonly-finding{
  margin-top:3px;
  padding:3px 5px;
  border-radius:5px;
  background:#fff3e5;
  color:#6e5332;
}

@media(max-width:900px){
  body.siepp-module-calidad-servicio .cs-bpm-improvement-table{min-width:900px}
}
@media(max-width:700px){
  body.siepp-module-calidad-servicio .cs-bpm-form-overview{grid-template-columns:1fr}
  body.siepp-module-calidad-servicio .cs-bpm-period-inline{grid-template-columns:1fr}
  body.siepp-module-calidad-servicio .cs-bpm-period-inline>.siepp-btn{width:100%}
  body.siepp-module-calidad-servicio .cs-bpm-field--half,
  body.siepp-module-calidad-servicio .cs-bpm-field--third,
  body.siepp-module-calidad-servicio .cs-bpm-field--two-thirds{grid-column:1/-1}
  body.siepp-module-calidad-servicio .cs-bpm-entry-table{min-width:760px}
}
/* ===== FIN · FLUJOS BPM SECCIONADOS Y COMPACTOS ===== */

/* ========================================================================== 
   SIEPP · CALIDAD DEL SERVICIO · NORMALIZACIÓN INTEGRAL DE FORMULARIOS
   2026-08-19
   --------------------------------------------------------------------------
   Alcance: todos los formularios visibles del módulo Calidad del Servicio.
   - Matriz de 12 columnas para aprovechar el ancho disponible.
   - Secciones compactas con fondos pastel, sin bordes de color.
   - Botoneras finales siempre centradas.
   - Formularios auxiliares/acciones pequeñas permanecen en línea.
   - No modifica lógica, nombres de campos, POST/GET ni validaciones.
   ========================================================================== */

body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  align-items:start;
  gap:8px 9px;
  width:100%;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>input[type="hidden"]{display:none}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-block,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-section{
  min-width:0;
  height:100%;
  margin:0;
  padding:8px 10px 9px;
  border:0;
  border-radius:11px;
  box-shadow:none;
}

/* Paleta estable por sección. El color vive en el fondo, no en los bordes. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-block--1,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-section.siepp-form-block--1{background:#edf7f9}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-block--2,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-section.siepp-form-block--2{background:#f7f0f6}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-block--3,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-section.siepp-form-block--3{background:#fbf4e7}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-block--4,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-section.siepp-form-block--4{background:#edf6f1}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-block--5,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-section.siepp-form-block--5{background:#eef3fa}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-block--6,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-section.siepp-form-block--6{background:#faefed}

body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized legend{
  margin:0 0 5px;
  padding:3px 7px;
  border:0;
  border-radius:7px;
  background:rgba(255,255,255,.76);
  font-size:.70rem;
  line-height:1.18;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized .siepp-grid-row{
  gap:6px 8px;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized :where(label,.siepp-field-label){margin-bottom:2px}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized :where(input,select,textarea){min-height:34px}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized textarea{min-height:58px}

/* Registro de proveedor: primera fila 4+8; segunda fila 6+3+3. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--1{grid-column:span 4}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--2{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--3{grid-column:span 6}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--4{grid-column:span 3}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--5{grid-column:span 3}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-note:last-child{
  grid-column:1/-1;
  margin:0;
  padding:1px 3px 0;
  text-align:center;
}

/* Registro de sucursal: contexto completo; datos/contacto en paralelo; unidad completa. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-create>.siepp-form-block--1{grid-column:1/-1}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-create>.siepp-form-block--2,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-create>.siepp-form-block--3{grid-column:span 6}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-create>.siepp-form-block--4{grid-column:1/-1}

/* Responsable: contexto arriba y tres secciones del mismo ancho. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-personal-create>.siepp-form-block--1{grid-column:1/-1}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-personal-create>.siepp-form-block--2,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-personal-create>.siepp-form-block--3,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-personal-create>.siepp-form-block--4{grid-column:span 4}

/* Agregar unidad: ambos bloques completos para no comprimir resultados AJAX. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-unit-add>.siepp-form-block{grid-column:1/-1}

/* Modificar proveedor: misma densidad que el formulario de alta. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-edit>.siepp-form-block--1{grid-column:span 4}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-edit>.siepp-form-block--2{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-edit>.siepp-form-block--3{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-edit>.siepp-form-block--4{grid-column:span 4}

/* Modificar sucursal: identificación+ubicación arriba; contacto completo abajo. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-edit>.siepp-form-block--1{grid-column:span 4}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-edit>.siepp-form-block--2{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-edit>.siepp-form-block--3{grid-column:1/-1}

/* Botonera FINAL de formulario: siempre centrada y desacoplada de la matriz. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions{
  grid-column:1/-1;
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:3px 0 0;
  padding:2px 0 0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions>form{
  display:inline-flex;
  width:auto;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions>.siepp-btn,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions>form>.siepp-btn,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions button[type="submit"]{
  width:auto;
  min-width:170px;
  max-width:100%;
  margin:0;
}

/* Formularios de acción pequeños: no se expanden ni consumen filas completas. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-inline-action-form{
  display:inline-flex;
  align-items:center;
  width:auto;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-inline-action-form>.siepp-btn{margin:0}
body.siepp-module-calidad-servicio .siepp-app-main__frame td>.cs-inline-action-form{justify-content:center}

/* Selección de unidad dentro de resultados: mini-matriz compacta y botón centrado. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-inline-choice-form{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:5px;
  width:100%;
  margin:6px 0 0;
  padding:7px 8px;
  border:0;
  border-radius:9px;
  background:rgba(255,255,255,.68);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-inline-choice-form .cs-form-final-actions{margin-top:1px}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-inline-choice-form .cs-form-final-actions .siepp-btn{min-width:140px}

/* Búsqueda principal: una fila eficiente con texto de ayuda alineado. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-search-normalized{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-search-normalized .siepp-search-form__row{
  grid-template-columns:minmax(0,1fr) 96px;
  gap:7px;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-search-normalized .siepp-form-note{
  margin:0;
  text-align:right;
}

/* Periodos BPM: selector + acción en línea, sin aire innecesario. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-period-normalized{
  align-items:end;
  gap:7px;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-period-normalized .siepp-btn{margin:0}

/* Formularios BPM de captura: cada bloque conserva su fondo pastel y la acción final se centra. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-bpm-entry{
  width:100%;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-bpm-entry>.cs-bpm-entry-block{
  margin:0 0 7px;
  padding:8px 10px 9px;
  border:0;
  border-radius:11px;
  box-shadow:none;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-bpm-entry .cs-form-final-actions{
  margin-top:6px;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-wizard-actions{
  justify-content:center;
  gap:8px;
  margin-top:4px;
}

/* Tarjetas/listados del módulo: acciones compactas y centradas, sin alterar tablas. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-card__body>.siepp-actions-center{
  justify-content:center;
  gap:7px;
  margin:6px 0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-card__body>.siepp-actions-center>form{
  display:inline-flex;
  width:auto;
  margin:0;
}

@media(max-width:980px){
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--1,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--2,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--3,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--4,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--5,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-edit>.siepp-form-block,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-edit>.siepp-form-block--1,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-edit>.siepp-form-block--2{
    grid-column:span 6;
  }
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block--3,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-edit>.siepp-form-block--3,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-edit>.siepp-form-block--3{
    grid-column:1/-1;
  }
}

@media(max-width:720px){
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized{grid-template-columns:1fr;gap:7px}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-block,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-normalized>.siepp-form-section,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-create>.siepp-form-block,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-provider-edit>.siepp-form-block,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-create>.siepp-form-block,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-branch-edit>.siepp-form-block,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-personal-create>.siepp-form-block,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-layout-unit-add>.siepp-form-block{
    grid-column:1/-1;
  }
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-search-normalized .siepp-search-form__row{grid-template-columns:1fr}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-search-normalized .siepp-form-note{text-align:left}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions{align-items:stretch;flex-direction:column}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions>form,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions>.siepp-btn,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions>form>.siepp-btn,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions button[type="submit"]{
    width:100%;
  }
}
/* ===== FIN · NORMALIZACIÓN INTEGRAL DE FORMULARIOS · CALIDAD DEL SERVICIO ===== */
/* Refuerzo frente a las matrices históricas que el JS todavía puede añadir. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized>.siepp-actions-center.cs-form-final-actions{
  grid-column:1/-1;
  align-self:auto;
  justify-content:center;
  align-items:center;
  width:100%;
  margin:3px 0 0;
  padding:2px 0 0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized>.siepp-actions-center.cs-form-final-actions>.siepp-btn{
  width:auto;
  min-width:170px;
  max-width:100%;
}
@media(max-width:720px){
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized>.siepp-actions-center.cs-form-final-actions{
    align-items:stretch;
  }
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized>.siepp-actions-center.cs-form-final-actions>.siepp-btn{width:100%}
}

/* ========================================================================== 
   SIEPP · CALIDAD DEL SERVICIO · NORMALIZACIÓN DEFINITIVA DE FORMULARIOS
   2026-08-19
   --------------------------------------------------------------------------
   Esta capa prevalece sobre las matrices automáticas históricas. Cada formulario
   conserva su distribución explícita y ninguna botonera puede quedar flotando al
   costado de una sección.
   ========================================================================== */

/* Formularios de captura BPM: UNA sola columna macro. La matriz existe únicamente
   dentro de cada hallazgo/tabla, no entre bloque + botonera. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form.siepp-form-section-grid,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form.cs-form-matrix{
  display:block;
  width:100%;
  max-width:none;
  margin:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form>.cs-bpm-entry-block,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form>.siepp-form-section,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form>.siepp-form-section-cell,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form>.cs-cell{
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0 0 8px;
  grid-column:1/-1;
}

/* Ficha de mejora: el hallazgo usa TODO el ancho disponible. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-list,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item{
  width:100%;
  max-width:none;
  min-width:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item{
  padding:8px 10px 9px;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:7px 10px;
  width:100%;
  align-items:start;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--half{grid-column:span 6}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--third{grid-column:span 4}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--two-thirds{grid-column:span 8}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora textarea{
  width:100%;
  min-height:66px;
  max-height:100px;
  resize:vertical;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora input[type="date"]{
  width:100%;
}

/* Navegación de bloques BPM: SIEMPRE debajo del bloque visible, horizontal y centrada. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form>.cs-bpm-wizard-actions,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form.siepp-form-section-grid>.cs-bpm-wizard-actions,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form.cs-form-matrix>.cs-bpm-wizard-actions{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  clear:both;
  width:100%;
  max-width:none;
  grid-column:1/-1;
  gap:9px;
  margin:9px auto 2px;
  padding:3px 0 0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form>.cs-bpm-wizard-actions>.siepp-btn{
  width:auto;
  min-width:155px;
  margin:0;
}

/* Botón final del último bloque: centrado en una fila propia. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form .cs-form-final-actions,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized>.cs-form-final-actions{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:none;
  grid-column:1/-1;
  clear:both;
  margin:8px auto 1px;
  padding:2px 0 0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form .cs-form-final-actions>.siepp-btn,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized>.cs-form-final-actions>.siepp-btn{
  width:auto;
  min-width:180px;
  max-width:100%;
  margin:0;
}

/* Formularios estándar del módulo: la matriz declarada en PHP manda siempre. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized.siepp-form-section-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:8px 9px;
  width:100%;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized>.siepp-form-section-cell{
  max-width:none;
}

/* Los formularios auxiliares jamás heredan una matriz macro automática. */
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-period-inline,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-period-form,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-inline-choice-form,
body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-inline-action-form{
  max-width:100%;
}

/* Mejor densidad en la tabla de calificación, sin reducir legibilidad. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table-wrap{
  width:100%;
  margin-top:2px;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table{
  width:100%;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table :where(th,td){
  padding:5px 7px;
}

@media(max-width:900px){
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-grid{
    grid-template-columns:repeat(12,minmax(0,1fr));
  }
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--half{grid-column:span 6}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--third{grid-column:span 4}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--two-thirds{grid-column:span 8}
}

@media(max-width:680px){
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--half,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--third,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field--two-thirds{
    grid-column:1/-1;
  }
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form>.cs-bpm-wizard-actions{
    flex-direction:column;
    align-items:stretch;
  }
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form>.cs-bpm-wizard-actions>.siepp-btn,
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-bpm-entry-form .cs-form-final-actions>.siepp-btn,
  body.siepp-module-calidad-servicio .siepp-app-main__frame form.cs-form-normalized>.cs-form-final-actions>.siepp-btn{
    width:100%;
  }
}
/* ===== FIN · NORMALIZACIÓN DEFINITIVA ===== */


/* ========================================================================== 
   SIEPP · CALIDAD DEL SERVICIO · COLOR GUIADO POR PREGUNTA
   --------------------------------------------------------------------------
   Hace más intuitivo el llenado de preguntas/hallazgos en BPM y el resto del
   módulo mediante fondos pastel suaves por pregunta, realce del número y tono
   dinámico según la respuesta elegida. No altera lógica ni validaciones.
   ========================================================================== */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item{
  --cs-question-bg:#f7fbfc;
  --cs-question-bg-strong:#eef7f9;
  --cs-question-accent:#5f8594;
  --cs-question-ink:#1d4250;
  --cs-question-field:#ffffff;
  transition:background-color .2s ease, box-shadow .2s ease, transform .18s ease;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr:nth-child(4n+1),
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item:nth-child(4n+1){
  --cs-question-bg:#eef7f9;
  --cs-question-bg-strong:#e3f1f5;
  --cs-question-accent:#4b7d8d;
  --cs-question-ink:#193d4a;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr:nth-child(4n+2),
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item:nth-child(4n+2){
  --cs-question-bg:#f7f1f8;
  --cs-question-bg-strong:#efe4f2;
  --cs-question-accent:#7a658d;
  --cs-question-ink:#41314f;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr:nth-child(4n+3),
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item:nth-child(4n+3){
  --cs-question-bg:#fdf6ea;
  --cs-question-bg-strong:#f8ecd7;
  --cs-question-accent:#8f754d;
  --cs-question-ink:#534022;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr:nth-child(4n+4),
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item:nth-child(4n+4){
  --cs-question-bg:#eef7f2;
  --cs-question-bg-strong:#e2f0e8;
  --cs-question-accent:#5a836d;
  --cs-question-ink:#264837;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr:hover,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr:focus-within,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item:hover,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item:focus-within{
  transform:translateY(-1px);
  box-shadow:0 5px 12px rgba(41,76,90,.07);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody td,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item{
  background:transparent;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr{
  background:linear-gradient(180deg,var(--cs-question-bg) 0%, #ffffff 100%);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table tbody tr+tr td{
  border-top-color:rgba(114,140,152,.18);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table td.cs-bpm-question-number strong{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  min-height:28px;
  padding:3px 8px;
  border-radius:999px;
  background:var(--cs-question-accent);
  color:#fff;
  box-shadow:0 4px 10px rgba(41,76,90,.12);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table td.cs-bpm-question-copy{
  color:var(--cs-question-ink);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table td.cs-bpm-question-copy .siepp-form-note{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:4px;
  padding:2px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:color-mix(in srgb,var(--cs-question-accent) 82%,#2a3f4a);
  font-size:.60rem;
  font-weight:800;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table :where(select,textarea),
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-grid :where(input,textarea,select){
  background:var(--cs-question-field);
  border-color:color-mix(in srgb,var(--cs-question-accent) 24%, #bfd0d7);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion .cs-bpm-entry-table :where(select,textarea):focus,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-grid :where(input,textarea,select):focus{
  border-color:color-mix(in srgb,var(--cs-question-accent) 56%, #8eb4c1);
  box-shadow:0 0 0 .18rem color-mix(in srgb,var(--cs-question-accent) 18%, transparent);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item{
  background:linear-gradient(180deg,var(--cs-question-bg) 0%, rgba(255,255,255,.98) 100%);
  border-radius:11px;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item__head strong,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-field > label{
  color:var(--cs-question-ink);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-item-index{
  background:var(--cs-question-accent);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--mejora .cs-bpm-improvement-item .cs-bpm-finding-note{
  background:color-mix(in srgb,var(--cs-question-bg-strong) 78%, #fff3e5);
}

/* Tonos de respuesta elegida en calificación BPM. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-ok{
  --cs-question-bg:#edf8f1;
  --cs-question-bg-strong:#e2f1e8;
  --cs-question-accent:#4c8b67;
  --cs-question-ink:#214735;
  --cs-question-field:#ffffff;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-danger{
  --cs-question-bg:#fbefef;
  --cs-question-bg-strong:#f6e3e3;
  --cs-question-accent:#b36b72;
  --cs-question-ink:#5b3136;
  --cs-question-field:#ffffff;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-warning{
  --cs-question-bg:#fcf5e7;
  --cs-question-bg-strong:#f8ecd3;
  --cs-question-accent:#b08a3b;
  --cs-question-ink:#5c461c;
  --cs-question-field:#fffef9;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-neutral{
  --cs-question-bg:#eef3f6;
  --cs-question-bg-strong:#e6edf1;
  --cs-question-accent:#6d8896;
  --cs-question-ink:#334a55;
  --cs-question-field:#ffffff;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-danger textarea:not(:disabled),
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-warning textarea:not(:disabled){
  background:#fffaf5;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-ok select,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-danger select,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-warning select,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion tr.is-tone-neutral select{
  font-weight:800;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-entry-form--calificacion textarea:disabled{
  background:#f5f7f8;
  color:#7b8f98;
}

/* Resaltes pastel para preguntas en otros formularios del módulo. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-section :where(.siepp-form-row,.siepp-grid-row>div,.siepp-field-group){
  border-radius:8px;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .siepp-form-section :where(.siepp-form-row,.siepp-grid-row>div,.siepp-field-group):focus-within{
  background:rgba(255,255,255,.35);
}

/* ========================================================================== 
   SIEPP · CALIDAD DEL SERVICIO · ACORDEONES + COLORES POR BLOQUE
   --------------------------------------------------------------------------
   - Los 11 bloques BPM se identifican exclusivamente por ptfpro_id.
   - Los nombres continúan viniendo de base de datos y solo se presentan.
   - No se usa texto visible para decidir comportamiento.
   - Los formularios generales del módulo también usan secciones plegables.
   ========================================================================== */

/* Paleta estable de PRESENTACIÓN por ptfpro_id (no contiene lógica de negocio). */
body.siepp-module-calidad-servicio .cs-bpm-block-tone{
  --cs-block-accent:#c7dfe8;
  --cs-block-accent-deep:#b4d3df;
  --cs-block-bg:#f1f8fa;
  --cs-block-bg-alt:#f8fcfd;
  --cs-block-ink:#274b59;
  --cs-block-shadow:rgba(60,98,112,.12);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="1"]{
  --cs-block-accent:#b9ddeb;--cs-block-accent-deep:#a7d2e3;--cs-block-bg:#eef8fc;--cs-block-bg-alt:#f8fcfe;--cs-block-ink:#234b5d;--cs-block-shadow:rgba(68,128,151,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="2"]{
  --cs-block-accent:#d8d1ee;--cs-block-accent-deep:#c8bee6;--cs-block-bg:#f5f2fb;--cs-block-bg-alt:#fbfafe;--cs-block-ink:#493f6a;--cs-block-shadow:rgba(112,101,157,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="3"]{
  --cs-block-accent:#cbe6d8;--cs-block-accent-deep:#b8dccb;--cs-block-bg:#f0f9f5;--cs-block-bg-alt:#f9fdfb;--cs-block-ink:#305444;--cs-block-shadow:rgba(79,137,112,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="4"]{
  --cs-block-accent:#f2ced4;--cs-block-accent-deep:#e9bac3;--cs-block-bg:#fcf1f3;--cs-block-bg-alt:#fffafb;--cs-block-ink:#633b45;--cs-block-shadow:rgba(169,100,115,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="5"]{
  --cs-block-accent:#bfe3e6;--cs-block-accent-deep:#acd9dd;--cs-block-bg:#eef9fa;--cs-block-bg-alt:#f8fdfd;--cs-block-ink:#2f5258;--cs-block-shadow:rgba(63,137,145,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="6"]{
  --cs-block-accent:#d9e6c7;--cs-block-accent-deep:#cbdcb5;--cs-block-bg:#f5f9ef;--cs-block-bg-alt:#fbfdf8;--cs-block-ink:#405238;--cs-block-shadow:rgba(111,139,93,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="7"]{
  --cs-block-accent:#f3d6c5;--cs-block-accent-deep:#eac6b1;--cs-block-bg:#fcf4ef;--cs-block-bg-alt:#fffaf7;--cs-block-ink:#674536;--cs-block-shadow:rgba(174,116,83,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="8"]{
  --cs-block-accent:#f4e5b9;--cs-block-accent-deep:#ead79e;--cs-block-bg:#fcf8eb;--cs-block-bg-alt:#fffdf7;--cs-block-ink:#67542a;--cs-block-shadow:rgba(161,130,66,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="9"]{
  --cs-block-accent:#d6dcf2;--cs-block-accent-deep:#c4cdea;--cs-block-bg:#f2f4fb;--cs-block-bg-alt:#fafbfe;--cs-block-ink:#445179;--cs-block-shadow:rgba(98,115,167,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="10"]{
  --cs-block-accent:#e8d2e2;--cs-block-accent-deep:#ddc0d5;--cs-block-bg:#faf2f8;--cs-block-bg-alt:#fdfafd;--cs-block-ink:#5e4057;--cs-block-shadow:rgba(145,105,136,.13);
}
body.siepp-module-calidad-servicio .cs-bpm-block-tone[data-block-id="11"]{
  --cs-block-accent:#cfe0e6;--cs-block-accent-deep:#bdd4dc;--cs-block-bg:#f0f6f8;--cs-block-bg-alt:#f9fcfd;--cs-block-ink:#3e5965;--cs-block-shadow:rgba(89,124,137,.13);
}

/* Bloque BPM plegable: encabezado = botón de color; contenido = fondo pastel. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-accordion{
  padding:0 !important;
  margin:0 0 7px !important;
  border:0 !important;
  border-radius:12px !important;
  overflow:hidden;
  background:var(--cs-block-bg) !important;
  box-shadow:0 5px 14px var(--cs-block-shadow) !important;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  min-height:46px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:9px;
  padding:7px 11px;
  border:0;
  border-radius:0;
  background:linear-gradient(135deg,var(--cs-block-accent),var(--cs-block-accent-deep));
  color:var(--cs-block-ink);
  -webkit-text-fill-color:var(--cs-block-ink);
  text-align:left;
  font:inherit;
  cursor:pointer;
  box-shadow:none;
  transition:filter .16s ease, transform .16s ease, box-shadow .16s ease;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle:hover,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle:focus-visible{
  filter:saturate(1.05) brightness(1.015);
  transform:translateY(-1px);
  box-shadow:0 5px 14px var(--cs-block-shadow);
  outline:0;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle:focus-visible{
  box-shadow:0 0 0 3px rgba(255,255,255,.78),0 5px 14px var(--cs-block-shadow);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-number{
  display:inline-grid;
  place-items:center;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  color:var(--cs-block-ink);
  -webkit-text-fill-color:var(--cs-block-ink);
  font-weight:900;
  font-size:.72rem;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle .cs-bpm-step-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
  color:var(--cs-block-ink);
  -webkit-text-fill-color:var(--cs-block-ink);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle .cs-bpm-step-copy strong{
  color:var(--cs-block-ink) !important;
  -webkit-text-fill-color:var(--cs-block-ink) !important;
  font-size:.78rem;
  line-height:1.12;
  letter-spacing:.01em;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle .cs-bpm-step-copy small{
  color:color-mix(in srgb,var(--cs-block-ink) 82%,#ffffff) !important;
  -webkit-text-fill-color:color-mix(in srgb,var(--cs-block-ink) 82%,#ffffff) !important;
  font-size:.60rem;
  line-height:1.15;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-progress{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  min-width:54px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:var(--cs-block-ink);
  -webkit-text-fill-color:var(--cs-block-ink);
  font-size:.60rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-accordion.is-complete .cs-bpm-block-progress{
  background:#e8f7ed;
  color:#2f6f4a;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-chevron{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.56);
  color:var(--cs-block-ink);
  -webkit-text-fill-color:var(--cs-block-ink);
  font-size:1rem;
  font-weight:900;
  line-height:1;
  transition:transform .18s ease;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle[aria-expanded="true"] .cs-bpm-block-chevron{
  transform:rotate(180deg);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-body{
  padding:7px 9px 9px;
  background:linear-gradient(180deg,var(--cs-block-bg) 0%,var(--cs-block-bg-alt) 100%);
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-body[hidden]{display:none !important;}

/* Las preguntas heredan el tono del bloque; la respuesta elegida conserva su color semántico. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-tone .cs-bpm-entry-table tbody tr:not(.is-tone-ok):not(.is-tone-danger):not(.is-tone-warning):not(.is-tone-neutral){
  --cs-question-bg:var(--cs-block-bg-alt);
  --cs-question-bg-strong:var(--cs-block-bg);
  --cs-question-accent:var(--cs-block-accent);
  --cs-question-ink:var(--cs-block-ink);
  --cs-question-field:#fff;
  background:linear-gradient(180deg,var(--cs-block-bg-alt),rgba(255,255,255,.96));
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-tone .cs-bpm-entry-table tbody tr:nth-child(even):not(.is-tone-ok):not(.is-tone-danger):not(.is-tone-warning):not(.is-tone-neutral){
  background:linear-gradient(180deg,var(--cs-block-bg),rgba(255,255,255,.94));
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-tone .cs-bpm-improvement-item{
  --cs-question-bg:var(--cs-block-bg-alt);
  --cs-question-bg-strong:var(--cs-block-bg);
  --cs-question-accent:var(--cs-block-accent);
  --cs-question-ink:var(--cs-block-ink);
  --cs-question-field:#fff;
  background:linear-gradient(180deg,var(--cs-block-bg-alt),rgba(255,255,255,.97)) !important;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-tone .cs-bpm-improvement-item:nth-child(even){
  background:linear-gradient(180deg,var(--cs-block-bg),rgba(255,255,255,.96)) !important;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-tone .cs-bpm-item-index,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-tone .cs-bpm-question-number strong{
  background:var(--cs-block-accent) !important;
}

/* Ficha de mejora de solo lectura: color por bloque y por pregunta. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-readonly-block .cs-bpm-improvement-table tbody tr:nth-child(odd){background:var(--cs-block-bg-alt);}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-readonly-block .cs-bpm-improvement-table tbody tr:nth-child(even){background:var(--cs-block-bg);}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-readonly-block .cs-bpm-improvement-table tbody td:first-child strong{color:var(--cs-block-ink);}

/* El informe conserva colores semánticos del semáforo; solo agrega identidad de bloque. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-report-block-name{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-report-block-name::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:999px;
  background:var(--cs-block-accent);
  box-shadow:0 0 0 3px var(--cs-block-bg);
}

/* ========================================================================== 
   Formularios generales de Calidad del Servicio: secciones plegables.
   Los fieldset existentes conservan sus IDs/names/POST sin alteración.
   ========================================================================== */
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion{
  --cs-form-accent:#c9dfe7;
  --cs-form-deep:#b8d2dc;
  --cs-form-bg:#f2f8fa;
  --cs-form-ink:#304f5b;
  grid-column:1/-1 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:12px !important;
  overflow:hidden;
  background:var(--cs-form-bg) !important;
  box-shadow:0 5px 13px rgba(53,85,97,.08) !important;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion.siepp-form-block--1{--cs-form-accent:#bdddea;--cs-form-deep:#acd2e2;--cs-form-bg:#eef8fb;--cs-form-ink:#294e5f;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion.siepp-form-block--2{--cs-form-accent:#d9d2ed;--cs-form-deep:#c8bee5;--cs-form-bg:#f5f2fb;--cs-form-ink:#4b4168;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion.siepp-form-block--3{--cs-form-accent:#c9e4d5;--cs-form-deep:#b7d9c6;--cs-form-bg:#f0f9f4;--cs-form-ink:#345344;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion.siepp-form-block--4{--cs-form-accent:#f2d3c2;--cs-form-deep:#e7c0aa;--cs-form-bg:#fcf4ef;--cs-form-ink:#634638;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion.siepp-form-block--5{--cs-form-accent:#e6d2e1;--cs-form-deep:#d9bed2;--cs-form-bg:#faf2f8;--cs-form-ink:#5c4156;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion.siepp-form-block--6{--cs-form-accent:#d9e4c8;--cs-form-deep:#cbd9b5;--cs-form-bg:#f5f8ef;--cs-form-ink:#45543b;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > legend{
  float:none;
  width:100%;
  max-width:none;
  padding:0;
  margin:0;
  border:0;
}
body.siepp-module-calidad-servicio form.cs-form-normalized .cs-form-section-toggle{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  min-height:40px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:0;
  border-radius:0;
  background:linear-gradient(135deg,var(--cs-form-accent),var(--cs-form-deep));
  color:var(--cs-form-ink);
  -webkit-text-fill-color:var(--cs-form-ink);
  box-shadow:0 2px 7px rgba(46,72,82,.07);
  text-align:left;
  font:inherit;
  font-size:.72rem;
  font-weight:900;
  cursor:pointer;
}
body.siepp-module-calidad-servicio form.cs-form-normalized .cs-form-section-toggle__title{color:var(--cs-form-ink);-webkit-text-fill-color:var(--cs-form-ink);line-height:1.15;}
body.siepp-module-calidad-servicio form.cs-form-normalized .cs-form-section-toggle__progress{
  min-width:42px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:var(--cs-form-ink);
  -webkit-text-fill-color:var(--cs-form-ink);
  text-align:center;
  font-size:.58rem;
}
body.siepp-module-calidad-servicio form.cs-form-normalized fieldset.cs-form-accordion.is-complete .cs-form-section-toggle__progress{
  background:#e9f7ed;
  color:#2e6d47;
}
body.siepp-module-calidad-servicio form.cs-form-normalized .cs-form-section-toggle__chevron{
  width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.56);color:var(--cs-form-ink);-webkit-text-fill-color:var(--cs-form-ink);transition:transform .18s ease;
}
body.siepp-module-calidad-servicio form.cs-form-normalized .cs-form-section-toggle[aria-expanded="true"] .cs-form-section-toggle__chevron{transform:rotate(180deg);}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > :not(legend)[hidden]{display:none !important;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > :not(legend):not([hidden]){
  margin-left:9px;
  margin-right:9px;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > :nth-child(2):not([hidden]){margin-top:8px;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > :last-child:not([hidden]){margin-bottom:9px;}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion :where(input,select,textarea):focus{
  border-color:var(--cs-form-accent) !important;
  box-shadow:0 0 0 .18rem color-mix(in srgb,var(--cs-form-accent) 18%,transparent) !important;
}

/* Botoneras finales: siempre centradas y fuera de las celdas del formulario. */
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-submit-row{
  grid-column:1/-1 !important;
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap;
  gap:8px;
  margin:9px auto 3px !important;
  text-align:center !important;
}
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions > .siepp-btn,
body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-submit-row > .siepp-btn{
  min-width:180px;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:760px){
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-toggle{grid-template-columns:auto minmax(0,1fr) auto;padding:7px 9px;}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-progress{display:none;}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-block-body{padding:6px;}
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-form-final-actions > .siepp-btn,
  body.siepp-module-calidad-servicio .siepp-app-main__frame .cs-bpm-submit-row > .siepp-btn{width:100%;min-width:0;}
}
/* ===== FIN · ACORDEONES + COLORES POR BLOQUE ===== */

/* Campos internos: ayudan a separar visualmente cada dato sin crear cajas duras. */
body.siepp-module-calidad-servicio form.cs-form-normalized fieldset.cs-form-accordion :where(.siepp-grid-col,.siepp-form-question,.siepp-field-group){
  border:0 !important;
  border-radius:9px;
  background:rgba(255,255,255,.52);
  padding:6px 7px;
}
body.siepp-module-calidad-servicio form.cs-form-normalized fieldset.cs-form-accordion :where(.siepp-grid-col,.siepp-form-question,.siepp-field-group):nth-child(even){
  background:rgba(255,255,255,.72);
}
body.siepp-module-calidad-servicio form.cs-form-normalized fieldset.cs-form-accordion :where(label,legend,strong){
  color:var(--cs-form-ink);
}

/* ========================================================================== */
/* Calidad del Servicio · Presentación de datos / ficha completa proveedor     */
/* ========================================================================== */
body.siepp-module-calidad-servicio .cs-data-dashboard{
  --cs-data-ink:#173f52;
  --cs-data-muted:#607b88;
  --cs-data-line:#dbe8ed;
  --cs-data-white:#fff;
}
body.siepp-module-calidad-servicio .cs-data-dashboard > h1{
  margin-bottom:10px !important;
}
body.siepp-module-calidad-servicio .cs-data-section{
  border:0 !important;
  border-radius:14px !important;
  padding:9px 10px 10px !important;
  margin:0 0 9px !important;
  box-shadow:none !important;
}
body.siepp-module-calidad-servicio .cs-data-section--provider{
  background:linear-gradient(135deg,#eef8fb 0%,#f8fbfc 100%) !important;
}
body.siepp-module-calidad-servicio .cs-data-section--branches{
  background:linear-gradient(135deg,#f7f4fb 0%,#fbfafc 100%) !important;
}
body.siepp-module-calidad-servicio .cs-data-section > .siepp-form-step{
  margin-bottom:6px !important;
}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:7px !important;
  border:0 !important;
  background:transparent !important;
}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item{
  min-width:0;
  min-height:58px;
  padding:8px 10px !important;
  border:0 !important;
  border-radius:11px !important;
  background:#fff !important;
  box-shadow:0 3px 12px rgba(37,78,96,.06) !important;
}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item:nth-child(1){background:#edf8fb !important;}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item:nth-child(2){background:#f4f0fb !important;}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item:nth-child(3){background:#eef8f3 !important;}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item:nth-child(4){background:#fff6e8 !important;}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item__label,
body.siepp-module-calidad-servicio .cs-data-branch-facts .siepp-fact-item__label{
  font-size:10px !important;
  letter-spacing:.065em !important;
  color:#557380 !important;
  -webkit-text-fill-color:#557380 !important;
  margin-bottom:2px !important;
}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item__value{
  display:block;
  font-size:14px !important;
  line-height:1.18 !important;
  color:#143f52 !important;
  -webkit-text-fill-color:#143f52 !important;
  overflow-wrap:anywhere;
}
body.siepp-module-calidad-servicio .cs-data-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin:7px 0 0 !important;
}
body.siepp-module-calidad-servicio .cs-data-actions form{
  display:inline-flex !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
body.siepp-module-calidad-servicio .cs-data-actions .siepp-btn{
  min-width:142px;
  justify-content:center;
}
body.siepp-module-calidad-servicio .cs-data-branch-card{
  --cs-branch-accent:#b8dce8;
  --cs-branch-bg:#eef8fb;
  --cs-branch-ink:#264f60;
  display:block;
  margin:0 0 8px !important;
  border:0 !important;
  border-radius:13px !important;
  overflow:hidden;
  background:#fff !important;
  box-shadow:0 3px 14px rgba(36,70,86,.065) !important;
}
body.siepp-module-calidad-servicio .cs-data-branch-card--2{--cs-branch-accent:#d6cdea;--cs-branch-bg:#f5f2fb;--cs-branch-ink:#50466c;}
body.siepp-module-calidad-servicio .cs-data-branch-card--3{--cs-branch-accent:#c8e2d4;--cs-branch-bg:#f0f8f4;--cs-branch-ink:#355847;}
body.siepp-module-calidad-servicio .cs-data-branch-card--4{--cs-branch-accent:#efd4c4;--cs-branch-bg:#fcf4ef;--cs-branch-ink:#66493a;}
body.siepp-module-calidad-servicio .cs-data-branch-card--5{--cs-branch-accent:#e5d0df;--cs-branch-bg:#faf3f8;--cs-branch-ink:#60475a;}
body.siepp-module-calidad-servicio .cs-data-branch-card--6{--cs-branch-accent:#d9e2c7;--cs-branch-bg:#f5f8ef;--cs-branch-ink:#49583e;}
body.siepp-module-calidad-servicio .cs-data-branch-summary{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:54px;
  padding:7px 10px;
  cursor:pointer;
  list-style:none;
  background:linear-gradient(135deg,var(--cs-branch-accent),color-mix(in srgb,var(--cs-branch-accent) 68%,#fff));
  color:var(--cs-branch-ink);
  -webkit-text-fill-color:var(--cs-branch-ink);
}
body.siepp-module-calidad-servicio .cs-data-branch-summary::-webkit-details-marker{display:none;}
body.siepp-module-calidad-servicio .cs-data-branch-index{
  width:30px;height:30px;border-radius:999px;display:grid;place-items:center;
  background:rgba(255,255,255,.62);font-weight:800;font-size:13px;
}
body.siepp-module-calidad-servicio .cs-data-branch-heading{min-width:0;display:flex;flex-direction:column;gap:1px;}
body.siepp-module-calidad-servicio .cs-data-branch-heading strong{
  font-size:14px;line-height:1.15;color:var(--cs-branch-ink);-webkit-text-fill-color:var(--cs-branch-ink);white-space:normal;
}
body.siepp-module-calidad-servicio .cs-data-branch-heading small{
  font-size:10px;line-height:1.15;color:var(--cs-branch-ink);-webkit-text-fill-color:var(--cs-branch-ink);opacity:.78;
}
body.siepp-module-calidad-servicio .cs-data-branch-metrics{display:flex;align-items:center;justify-content:flex-end;gap:6px;}
body.siepp-module-calidad-servicio .cs-data-badge{
  display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;
  background:rgba(255,255,255,.58);font-size:10px;font-weight:700;white-space:nowrap;
  color:var(--cs-branch-ink);-webkit-text-fill-color:var(--cs-branch-ink);
}
body.siepp-module-calidad-servicio .cs-data-badge b{font-size:12px;}
body.siepp-module-calidad-servicio .cs-data-chevron{
  width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.58);
  font-size:16px;font-weight:900;transition:transform .18s ease;
}
body.siepp-module-calidad-servicio .cs-data-branch-card[open] .cs-data-chevron{transform:rotate(180deg);}
body.siepp-module-calidad-servicio .cs-data-branch-body{
  padding:8px !important;
  background:linear-gradient(180deg,var(--cs-branch-bg),#fff 42%) !important;
}
body.siepp-module-calidad-servicio .cs-data-branch-facts{
  display:grid !important;
  grid-template-columns:1.5fr .8fr 1.35fr .55fr !important;
  gap:6px !important;
  border:0 !important;
  background:transparent !important;
}
body.siepp-module-calidad-servicio .cs-data-branch-facts .siepp-fact-item{
  border:0 !important;
  border-radius:9px !important;
  padding:7px 9px !important;
  background:rgba(255,255,255,.78) !important;
  min-width:0;
}
body.siepp-module-calidad-servicio .cs-data-branch-facts .siepp-fact-item__value{
  font-size:12px !important;line-height:1.18 !important;color:#173f52 !important;-webkit-text-fill-color:#173f52 !important;overflow-wrap:anywhere;
}
body.siepp-module-calidad-servicio .cs-data-actions--branch{
  margin:7px 0 !important;
  padding:7px 8px !important;
  border-radius:10px;
  background:rgba(255,255,255,.6);
}
body.siepp-module-calidad-servicio .cs-data-actions--branch .siepp-btn{min-width:132px;}
body.siepp-module-calidad-servicio .cs-data-tables-grid{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:8px;
  align-items:start;
}
body.siepp-module-calidad-servicio .cs-data-panel{
  min-width:0;
  border-radius:11px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 2px 10px rgba(37,76,94,.05);
}
body.siepp-module-calidad-servicio .cs-data-panel--units{--cs-panel-bg:#edf7fb;--cs-panel-accent:#6faabd;--cs-panel-ink:#2d5968;}
body.siepp-module-calidad-servicio .cs-data-panel--people{--cs-panel-bg:#f3f0fa;--cs-panel-accent:#8d82ba;--cs-panel-ink:#51476e;}
body.siepp-module-calidad-servicio .cs-data-panel__heading{
  display:flex;align-items:center;gap:7px;padding:7px 9px;background:var(--cs-panel-bg);color:var(--cs-panel-ink);-webkit-text-fill-color:var(--cs-panel-ink);
}
body.siepp-module-calidad-servicio .cs-data-panel__heading > span:last-child{display:flex;flex-direction:column;gap:0;}
body.siepp-module-calidad-servicio .cs-data-panel__heading strong{font-size:12px;line-height:1.15;color:var(--cs-panel-ink);-webkit-text-fill-color:var(--cs-panel-ink);}
body.siepp-module-calidad-servicio .cs-data-panel__heading small{font-size:9px;line-height:1.15;opacity:.75;color:var(--cs-panel-ink);-webkit-text-fill-color:var(--cs-panel-ink);}
body.siepp-module-calidad-servicio .cs-data-panel__icon{
  width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:var(--cs-panel-accent);color:#fff !important;-webkit-text-fill-color:#fff !important;font-weight:800;font-size:11px;
}
body.siepp-module-calidad-servicio .cs-data-table-wrap{margin:0 !important;}
body.siepp-module-calidad-servicio .cs-data-table{margin:0 !important;border:0 !important;}
body.siepp-module-calidad-servicio .cs-data-table th{
  padding:6px 8px !important;font-size:9px !important;letter-spacing:.035em !important;background:#e9f2f5 !important;color:#31596a !important;-webkit-text-fill-color:#31596a !important;
}
body.siepp-module-calidad-servicio .cs-data-table td{
  padding:6px 8px !important;font-size:10.5px !important;line-height:1.18 !important;vertical-align:middle !important;color:#234758 !important;-webkit-text-fill-color:#234758 !important;
}
body.siepp-module-calidad-servicio .cs-data-table tbody tr:nth-child(even){background:#fbfdfe !important;}
body.siepp-module-calidad-servicio .cs-data-table td form{display:flex !important;justify-content:center !important;width:auto !important;margin:0 !important;}
body.siepp-module-calidad-servicio .cs-data-table .siepp-btn{min-height:30px !important;padding:5px 11px !important;font-size:10px !important;}
@media (max-width:980px){
  body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body.siepp-module-calidad-servicio .cs-data-branch-facts{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body.siepp-module-calidad-servicio .cs-data-tables-grid{grid-template-columns:1fr;}
}
@media (max-width:680px){
  body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-grid,
  body.siepp-module-calidad-servicio .cs-data-branch-facts{grid-template-columns:1fr !important;}
  body.siepp-module-calidad-servicio .cs-data-branch-summary{grid-template-columns:30px minmax(0,1fr) auto;}
  body.siepp-module-calidad-servicio .cs-data-badge{display:none;}
  body.siepp-module-calidad-servicio .cs-data-actions .siepp-btn,
  body.siepp-module-calidad-servicio .cs-data-actions form{width:100% !important;}
}

/* ========================================================================== */
/* Calidad del Servicio · Pulido visual ficha completa proveedor · 2026-08-19 */
/* Objetivo: simetría, bordes neutros, alineación y densidad consistente.       */
/* ========================================================================== */
body.siepp-module-calidad-servicio .cs-data-dashboard{
  --cs-data-radius-lg:14px;
  --cs-data-radius-md:11px;
  --cs-data-border:#e2edf1;
  --cs-data-border-strong:#d5e5eb;
  --cs-data-shadow:0 5px 18px rgba(32,70,88,.055);
}

/* Contenedores principales: misma geometría y separación. */
body.siepp-module-calidad-servicio .cs-data-section{
  border:1px solid var(--cs-data-border) !important;
  border-radius:var(--cs-data-radius-lg) !important;
  padding:10px !important;
  margin-bottom:10px !important;
  overflow:hidden;
}
body.siepp-module-calidad-servicio .cs-data-section > .siepp-form-step{
  min-height:36px;
  display:flex !important;
  align-items:center !important;
  margin:0 0 8px !important;
  padding:5px 8px !important;
  border:0 !important;
  border-bottom:1px solid rgba(105,145,162,.16) !important;
  border-radius:9px !important;
  background:rgba(255,255,255,.42) !important;
}
body.siepp-module-calidad-servicio .cs-data-section > .siepp-form-step > span{
  flex:0 0 26px;
  width:26px !important;
  height:26px !important;
  margin-right:7px !important;
}

/* Resumen superior: 4 tarjetas perfectamente iguales. */
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  align-items:stretch;
}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item{
  min-height:62px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:9px 11px !important;
  border:1px solid rgba(116,153,168,.10) !important;
  border-radius:var(--cs-data-radius-md) !important;
  box-shadow:0 2px 8px rgba(37,78,96,.035) !important;
}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item__label{
  min-height:14px;
}
body.siepp-module-calidad-servicio .cs-data-summary--provider .siepp-fact-item__value{
  min-height:18px;
  display:flex;
  align-items:center;
}

/* Botoneras: ancho y altura visualmente uniformes. */
body.siepp-module-calidad-servicio .cs-data-actions{
  gap:8px !important;
}
body.siepp-module-calidad-servicio .cs-data-actions--provider form,
body.siepp-module-calidad-servicio .cs-data-actions--provider > .siepp-btn{
  flex:0 0 172px !important;
}
body.siepp-module-calidad-servicio .cs-data-actions--provider .siepp-btn{
  width:172px !important;
  min-width:172px !important;
  min-height:38px !important;
}

/* Tarjeta de sucursal: borde neutro exterior, no borde de color. */
body.siepp-module-calidad-servicio .cs-data-branch-card{
  border:1px solid var(--cs-data-border-strong) !important;
  border-radius:var(--cs-data-radius-lg) !important;
  box-shadow:var(--cs-data-shadow) !important;
}
body.siepp-module-calidad-servicio .cs-data-branch-summary{
  min-height:58px;
  padding:8px 11px !important;
  grid-template-columns:34px minmax(0,1fr) auto !important;
  border-bottom:0 !important;
}
body.siepp-module-calidad-servicio .cs-data-branch-card[open] .cs-data-branch-summary{
  border-bottom:1px solid rgba(91,130,148,.13) !important;
}
body.siepp-module-calidad-servicio .cs-data-branch-index{
  width:30px !important;
  height:30px !important;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:inset 0 0 0 1px rgba(42,79,94,.04);
}
body.siepp-module-calidad-servicio .cs-data-branch-metrics{
  min-width:0;
  gap:7px !important;
}
body.siepp-module-calidad-servicio .cs-data-badge,
body.siepp-module-calidad-servicio .cs-data-chevron{
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 1px 3px rgba(31,72,88,.035);
}

/* Interior de sucursal: misma separación lateral y vertical. */
body.siepp-module-calidad-servicio .cs-data-branch-body{
  padding:9px !important;
}
body.siepp-module-calidad-servicio .cs-data-branch-facts{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  align-items:stretch;
}
body.siepp-module-calidad-servicio .cs-data-branch-facts .siepp-fact-item{
  min-height:58px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:8px 10px !important;
  border:1px solid rgba(116,153,168,.11) !important;
  border-radius:var(--cs-data-radius-md) !important;
  background:rgba(255,255,255,.86) !important;
}
body.siepp-module-calidad-servicio .cs-data-branch-facts .siepp-fact-item__label{
  min-height:14px;
}

/* Acciones de sucursal: cuatro botones con la misma caja. */
body.siepp-module-calidad-servicio .cs-data-actions--branch{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(145px,172px)) !important;
  justify-content:center !important;
  align-items:stretch !important;
  gap:8px !important;
  margin:8px 0 !important;
  padding:8px !important;
  border:1px solid rgba(119,154,169,.10) !important;
  border-radius:var(--cs-data-radius-md) !important;
  background:rgba(255,255,255,.68) !important;
}
body.siepp-module-calidad-servicio .cs-data-actions--branch form,
body.siepp-module-calidad-servicio .cs-data-actions--branch > .siepp-btn{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
}
body.siepp-module-calidad-servicio .cs-data-actions--branch .siepp-btn{
  width:100% !important;
  min-width:0 !important;
  min-height:38px !important;
  justify-content:center !important;
}

/* Paneles inferiores: 50/50 y misma altura visual. */
body.siepp-module-calidad-servicio .cs-data-tables-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
  align-items:stretch !important;
}
body.siepp-module-calidad-servicio .cs-data-panel{
  height:100%;
  display:flex;
  flex-direction:column;
  border:1px solid var(--cs-data-border) !important;
  border-radius:var(--cs-data-radius-md) !important;
  box-shadow:0 2px 8px rgba(37,76,94,.035) !important;
}
body.siepp-module-calidad-servicio .cs-data-panel__heading{
  min-height:48px;
  padding:7px 9px !important;
  border-bottom:1px solid rgba(106,145,161,.12);
}
body.siepp-module-calidad-servicio .cs-data-panel__icon{
  flex:0 0 27px;
  width:27px !important;
  height:27px !important;
}
body.siepp-module-calidad-servicio .cs-data-table-wrap{
  flex:1 1 auto;
  background:#fff;
}
body.siepp-module-calidad-servicio .cs-data-table{
  width:100% !important;
  table-layout:fixed;
  border-collapse:collapse !important;
}
body.siepp-module-calidad-servicio .cs-data-table th,
body.siepp-module-calidad-servicio .cs-data-table td{
  border-right:1px solid rgba(108,145,160,.08) !important;
  border-bottom:1px solid rgba(108,145,160,.10) !important;
}
body.siepp-module-calidad-servicio .cs-data-table th:last-child,
body.siepp-module-calidad-servicio .cs-data-table td:last-child{
  border-right:0 !important;
}
body.siepp-module-calidad-servicio .cs-data-table tbody tr:last-child td{
  border-bottom:0 !important;
}
body.siepp-module-calidad-servicio .cs-data-panel--units .cs-data-table th:nth-child(1),
body.siepp-module-calidad-servicio .cs-data-panel--units .cs-data-table td:nth-child(1){width:38%;}
body.siepp-module-calidad-servicio .cs-data-panel--units .cs-data-table th:nth-child(2),
body.siepp-module-calidad-servicio .cs-data-panel--units .cs-data-table td:nth-child(2){width:27%;text-align:center;}
body.siepp-module-calidad-servicio .cs-data-panel--units .cs-data-table th:nth-child(3),
body.siepp-module-calidad-servicio .cs-data-panel--units .cs-data-table td:nth-child(3){width:35%;text-align:center;}
body.siepp-module-calidad-servicio .cs-data-panel--people .cs-data-table th:nth-child(1),
body.siepp-module-calidad-servicio .cs-data-panel--people .cs-data-table td:nth-child(1){width:24%;}
body.siepp-module-calidad-servicio .cs-data-panel--people .cs-data-table th:nth-child(2),
body.siepp-module-calidad-servicio .cs-data-panel--people .cs-data-table td:nth-child(2){width:20%;}
body.siepp-module-calidad-servicio .cs-data-panel--people .cs-data-table th:nth-child(3),
body.siepp-module-calidad-servicio .cs-data-panel--people .cs-data-table td:nth-child(3){width:34%;}
body.siepp-module-calidad-servicio .cs-data-panel--people .cs-data-table th:nth-child(4),
body.siepp-module-calidad-servicio .cs-data-panel--people .cs-data-table td:nth-child(4){width:22%;}

/* Vacíos: mensaje centrado y con altura equivalente. */
body.siepp-module-calidad-servicio .cs-data-table td[colspan]{
  height:42px;
  text-align:center !important;
  vertical-align:middle !important;
  color:#6b7f89 !important;
  -webkit-text-fill-color:#6b7f89 !important;
  font-style:italic;
  background:#fbfdfe !important;
}

/* Separación final interior para que todas las cajas respiren igual. */
body.siepp-module-calidad-servicio .cs-data-section--branches .siepp-content-stack{
  display:flex;
  flex-direction:column;
  gap:8px;
}
body.siepp-module-calidad-servicio .cs-data-section--branches .siepp-content-stack > .cs-data-branch-card{
  margin:0 !important;
}

@media (max-width:1050px){
  body.siepp-module-calidad-servicio .cs-data-actions--branch{
    grid-template-columns:repeat(2,minmax(160px,1fr)) !important;
  }
}
@media (max-width:980px){
  body.siepp-module-calidad-servicio .cs-data-branch-facts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.siepp-module-calidad-servicio .cs-data-tables-grid{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:680px){
  body.siepp-module-calidad-servicio .cs-data-actions--branch{
    grid-template-columns:1fr !important;
  }
  body.siepp-module-calidad-servicio .cs-data-actions--provider form,
  body.siepp-module-calidad-servicio .cs-data-actions--provider > .siepp-btn,
  body.siepp-module-calidad-servicio .cs-data-actions--provider .siepp-btn{
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
  }
}
/* ===== FIN · PULIDO VISUAL FICHA COMPLETA PROVEEDOR ===== */


/* ========================================================================== 
   CALIDAD DEL SERVICIO · CONTEXTO FIJO EN FORMULARIOS
   --------------------------------------------------------------------------
   Los fieldset marcados data-cs-always-visible="1" son informativos/contexto.
   Permanecen visibles y nunca se convierten en acordeón.
   ========================================================================== */
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-static-section{
  --cs-static-accent:#bdddea;
  --cs-static-deep:#acd2e2;
  --cs-static-bg:#eef8fb;
  --cs-static-ink:#294e5f;
  grid-column:1/-1 !important;
  min-width:0;
  margin:0 !important;
  padding:0 9px 9px !important;
  border:0 !important;
  border-radius:12px !important;
  overflow:hidden;
  background:var(--cs-static-bg) !important;
  box-shadow:0 5px 13px rgba(53,85,97,.08) !important;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-static-section > legend{
  float:none;
  width:calc(100% + 18px);
  max-width:none;
  min-height:40px;
  margin:0 -9px 8px !important;
  padding:8px 10px !important;
  display:flex;
  align-items:center;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(135deg,var(--cs-static-accent),var(--cs-static-deep)) !important;
  color:var(--cs-static-ink) !important;
  -webkit-text-fill-color:var(--cs-static-ink) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  line-height:1.15;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-static-section > :not(legend){
  margin-left:0;
  margin-right:0;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-static-section .siepp-table-responsive{
  margin-top:7px;
}

/* ========================================================================== 
   CALIDAD DEL SERVICIO · DESPLIEGUES SUAVES
   ========================================================================== */
body.siepp-module-calidad-servicio .cs-bpm-block-body.is-accordion-animating,
body.siepp-module-calidad-servicio .cs-form-section-body.is-accordion-animating,
body.siepp-module-calidad-servicio details.cs-data-branch-card > .cs-data-branch-body{
  transition:height .23s cubic-bezier(.22,.61,.36,1),opacity .18s ease !important;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > .cs-form-section-body{
  margin:0 !important;
  padding:8px 9px 9px !important;
  background:linear-gradient(180deg,var(--cs-form-bg),rgba(255,255,255,.88));
  transform-origin:top center;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > .cs-form-section-body[hidden]{
  display:none !important;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > .cs-form-section-body > :first-child{
  margin-top:0 !important;
}
body.siepp-module-calidad-servicio form.cs-form-normalized > fieldset.cs-form-accordion > .cs-form-section-body > :last-child{
  margin-bottom:0 !important;
}
body.siepp-module-calidad-servicio .cs-form-section-toggle,
body.siepp-module-calidad-servicio .cs-bpm-block-toggle,
body.siepp-module-calidad-servicio .cs-data-branch-summary{
  transition:filter .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease !important;
}
body.siepp-module-calidad-servicio .cs-form-section-toggle:hover,
body.siepp-module-calidad-servicio .cs-bpm-block-toggle:hover,
body.siepp-module-calidad-servicio .cs-data-branch-summary:hover{
  filter:saturate(1.02) brightness(1.01);
}
body.siepp-module-calidad-servicio .cs-form-section-toggle:active,
body.siepp-module-calidad-servicio .cs-bpm-block-toggle:active,
body.siepp-module-calidad-servicio .cs-data-branch-summary:active{
  transform:translateY(1px);
}
@media (prefers-reduced-motion:reduce){
  body.siepp-module-calidad-servicio .cs-bpm-block-body,
  body.siepp-module-calidad-servicio .cs-form-section-body,
  body.siepp-module-calidad-servicio details.cs-data-branch-card > .cs-data-branch-body,
  body.siepp-module-calidad-servicio .cs-form-section-toggle,
  body.siepp-module-calidad-servicio .cs-bpm-block-toggle,
  body.siepp-module-calidad-servicio .cs-data-branch-summary{
    transition:none !important;
  }
}

/* ========================================================================== 
   CALIDAD DEL SERVICIO · GESTOR MULTIUNIDAD
   ========================================================================== */
body.siepp-module-calidad-servicio .cs-unit-selection-manager{
  margin:8px 0 7px;
  padding:9px;
  border:0 !important;
  border-radius:11px;
  background:linear-gradient(135deg,#eef7fb 0%,#f7f3fb 100%);
  box-shadow:0 4px 12px rgba(41,77,93,.07);
}
body.siepp-module-calidad-servicio .cs-unit-selection-manager__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
}
body.siepp-module-calidad-servicio .cs-unit-selection-manager__head > div{
  min-width:0;
}
body.siepp-module-calidad-servicio .cs-unit-selection-manager__head strong{
  display:block;
  margin:0 0 2px;
  color:#244d60 !important;
  -webkit-text-fill-color:#244d60 !important;
  font-size:.72rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .cs-unit-selection-manager__head span:not(.cs-unit-selection-count){
  display:block;
  color:#607984 !important;
  -webkit-text-fill-color:#607984 !important;
  font-size:.60rem;
  line-height:1.25;
}
body.siepp-module-calidad-servicio .cs-unit-selection-count{
  flex:0 0 auto;
  min-width:92px;
  padding:5px 9px;
  border-radius:999px;
  background:#fff;
  color:#3d6272 !important;
  -webkit-text-fill-color:#3d6272 !important;
  box-shadow:0 2px 7px rgba(43,79,95,.06);
  text-align:center;
  font-size:.60rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .cs-unit-selection-manager.has-selection .cs-unit-selection-count{
  background:#e3f4e9;
  color:#2f6949 !important;
  -webkit-text-fill-color:#2f6949 !important;
}
body.siepp-module-calidad-servicio .cs-unit-selected-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
body.siepp-module-calidad-servicio .cs-unit-selection-empty{
  grid-column:1/-1;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border-radius:9px;
  background:rgba(255,255,255,.74);
  color:#6a7d86 !important;
  -webkit-text-fill-color:#6a7d86 !important;
  text-align:center;
  font-size:.62rem;
}
body.siepp-module-calidad-servicio .cs-unit-selection-empty[hidden]{display:none !important;}
body.siepp-module-calidad-servicio .cs-unit-selected-item{
  min-width:0;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:7px 8px;
  border:0 !important;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px rgba(44,82,99,.06);
  opacity:0;
  transform:translateY(4px) scale(.992);
  transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease;
}
body.siepp-module-calidad-servicio .cs-unit-selected-item.is-visible{
  opacity:1;
  transform:none;
}
body.siepp-module-calidad-servicio .cs-unit-selected-item.is-leaving{
  opacity:0;
  transform:translateY(-3px) scale(.988);
}
body.siepp-module-calidad-servicio .cs-unit-selected-item__icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#dff1e6;
  color:#2f7150 !important;
  -webkit-text-fill-color:#2f7150 !important;
  font-size:.76rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .cs-unit-selected-item__content{
  min-width:0;
}
body.siepp-module-calidad-servicio .cs-unit-selected-item__name{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#173f52 !important;
  -webkit-text-fill-color:#173f52 !important;
  font-size:.68rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .cs-unit-selected-item__meta{
  display:block;
  margin-top:1px;
  color:#687f89 !important;
  -webkit-text-fill-color:#687f89 !important;
  font-size:.57rem;
}
body.siepp-module-calidad-servicio .cs-unit-selected-item__remove{
  -webkit-appearance:none;
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:28px;
  padding:4px 8px;
  border:0;
  border-radius:8px;
  background:#f5e2e5;
  color:#8a3f4b !important;
  -webkit-text-fill-color:#8a3f4b !important;
  font:inherit;
  font-size:.58rem;
  font-weight:900;
  cursor:pointer;
  transition:background .16s ease,transform .16s ease;
}
body.siepp-module-calidad-servicio .cs-unit-selected-item__remove:hover{
  background:#efd3d8;
}
body.siepp-module-calidad-servicio .cs-unit-selected-item__remove:active{
  transform:translateY(1px);
}
body.siepp-module-calidad-servicio .cs-unit-search-results-host{
  margin-top:7px;
}
body.siepp-module-calidad-servicio .cs-unit-search-results{
  display:grid;
  gap:5px;
}
body.siepp-module-calidad-servicio .cs-unit-search-item{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:6px 7px;
  border:0 !important;
  border-radius:9px;
  background:#eef8fb;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.siepp-module-calidad-servicio .cs-unit-search-item:nth-child(4n+2){background:#f5f1fa;}
body.siepp-module-calidad-servicio .cs-unit-search-item:nth-child(4n+3){background:#fbf4e8;}
body.siepp-module-calidad-servicio .cs-unit-search-item:nth-child(4n+4){background:#edf7f2;}
body.siepp-module-calidad-servicio .cs-unit-search-item:hover{
  box-shadow:0 4px 10px rgba(45,82,98,.07);
  transform:translateY(-1px);
}
body.siepp-module-calidad-servicio .cs-unit-search-item.is-selected{
  background:#e4f4ea !important;
  box-shadow:inset 0 0 0 1px rgba(65,127,91,.08);
}
body.siepp-module-calidad-servicio .cs-unit-search-item.is-existing{
  background:#f1f4f6 !important;
  opacity:.72;
}
body.siepp-module-calidad-servicio .cs-unit-search-item__index{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#fff;
  color:#3c7085 !important;
  -webkit-text-fill-color:#3c7085 !important;
  box-shadow:0 1px 4px rgba(47,83,99,.06);
  font-size:.60rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .cs-unit-search-item__content{min-width:0;}
body.siepp-module-calidad-servicio .cs-unit-search-item__name{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#173f52 !important;
  -webkit-text-fill-color:#173f52 !important;
  font-size:.67rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .cs-unit-search-item__meta{
  display:block;
  margin-top:1px;
  color:#657d88 !important;
  -webkit-text-fill-color:#657d88 !important;
  font-size:.56rem;
}
body.siepp-module-calidad-servicio .cs-unit-search-item .cs-unit-add-btn{
  min-width:92px;
  margin:0 !important;
}
body.siepp-module-calidad-servicio .cs-unit-search-item .cs-unit-add-btn:disabled{
  opacity:1 !important;
  cursor:default;
  background:#c9d8de !important;
  color:#385765 !important;
  -webkit-text-fill-color:#385765 !important;
  box-shadow:none !important;
}

@media(max-width:820px){
  body.siepp-module-calidad-servicio .cs-unit-selected-list{grid-template-columns:1fr;}
}
@media(max-width:620px){
  body.siepp-module-calidad-servicio .cs-unit-selection-manager__head{align-items:flex-start;flex-direction:column;}
  body.siepp-module-calidad-servicio .cs-unit-selection-count{min-width:0;}
  body.siepp-module-calidad-servicio .cs-unit-search-item{grid-template-columns:28px minmax(0,1fr);}
  body.siepp-module-calidad-servicio .cs-unit-search-item .cs-unit-add-btn{grid-column:1/-1;width:100%;}
  body.siepp-module-calidad-servicio .cs-unit-selected-item{grid-template-columns:28px minmax(0,1fr);}
  body.siepp-module-calidad-servicio .cs-unit-selected-item__remove{grid-column:1/-1;justify-content:center;width:100%;}
}
/* ===== FIN · GESTOR MULTIUNIDAD + DESPLIEGUES SUAVES ===== */

/* ========================================================================== 
   CALIDAD DEL SERVICIO · RESULTADOS DE BÚSQUEDA FUNCIONALES + MULTISELECCIÓN
   --------------------------------------------------------------------------
   No modifica la consulta. Solo estiliza el HTML ya devuelto por el AJAX.
   ========================================================================== */
body.siepp-module-calidad-servicio .cs-unit-search-results-host .siepp-user-list{
  display:grid;
  gap:5px;
  margin-top:6px;
}
body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item{
  cursor:default;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}
body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(45,82,98,.08);
}
body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item.is-selected{
  background:#e7f5ec !important;
  box-shadow:inset 0 0 0 1px rgba(62,125,88,.10),0 3px 10px rgba(48,91,67,.06);
}
body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item.is-existing{
  background:#f0f3f5 !important;
  opacity:.78;
}
body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item .siepp-user-item__badge{
  min-width:104px;
  display:flex;
  justify-content:center;
  align-items:center;
}
body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item .cs-unit-add-btn{
  width:100%;
  min-width:96px;
  margin:0 !important;
}
body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item .cs-unit-add-btn:disabled{
  opacity:1 !important;
  cursor:default;
  background:#cbd9de !important;
  color:#385865 !important;
  -webkit-text-fill-color:#385865 !important;
  box-shadow:none !important;
}
@media(max-width:620px){
  body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item .siepp-user-item__badge{
    width:100%;
    min-width:0;
  }
  body.siepp-module-calidad-servicio .cs-unit-search-results-host .cs-unit-search-standard-item .cs-unit-add-btn{
    width:100%;
  }
}
/* ===== FIN · BÚSQUEDA FUNCIONAL + MULTISELECCIÓN ===== */

/* ========================================================================== 
   CALIDAD DEL SERVICIO · SELECTOR DE UNIDADES EN DOS PANELES
   Búsqueda a la izquierda / selección gestionable a la derecha.
   No altera endpoint, consulta, parámetros ni lógica AJAX existente.
   ========================================================================== */
body.siepp-module-calidad-servicio .cs-unit-picker-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.95fr);
  gap:12px;
  align-items:start;
  margin-top:5px;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel{
  min-width:0;
  padding:11px;
  border:0 !important;
  border-radius:14px;
  box-shadow:0 5px 16px rgba(38,72,88,.07);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search{
  background:linear-gradient(145deg,#f2f9fc 0%,#f8fbfc 100%);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected{
  background:linear-gradient(145deg,#f4f2fb 0%,#f8f7fc 52%,#f2f8f5 100%);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel__head{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:42px;
  margin:-2px 0 9px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(72,107,123,.10);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel__step{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#dceff6;
  color:#2f6e85 !important;
  -webkit-text-fill-color:#2f6e85 !important;
  font-size:.68rem;
  font-weight:900;
  box-shadow:0 2px 6px rgba(51,104,127,.08);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected .cs-unit-picker-panel__step{
  background:#e7e1f5;
  color:#655b94 !important;
  -webkit-text-fill-color:#655b94 !important;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel__head strong{
  display:block;
  margin:0 0 1px;
  color:#183f52 !important;
  -webkit-text-fill-color:#183f52 !important;
  font-size:.73rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel__head span:not(.cs-unit-picker-panel__step){
  display:block;
  color:#637b86 !important;
  -webkit-text-fill-color:#637b86 !important;
  font-size:.59rem;
  line-height:1.24;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search > label{
  margin-top:0;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search > input[type="search"]{
  min-height:37px;
  margin-bottom:7px;
  background:#fff;
  box-shadow:0 2px 8px rgba(47,83,99,.05);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-search-results-host{
  margin-top:6px;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-selection-manager{
  margin:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-selection-manager__head{
  min-height:34px;
  margin-bottom:7px;
  padding:6px 7px;
  border-radius:9px;
  background:rgba(255,255,255,.68);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-selected-list{
  grid-template-columns:1fr;
  gap:6px;
  max-height:430px;
  overflow:auto;
  padding-right:2px;
  scrollbar-width:thin;
  scrollbar-color:#c8d7dd transparent;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-selection-empty{
  min-height:92px;
  padding:14px;
  background:rgba(255,255,255,.72);
  color:#70818a !important;
  -webkit-text-fill-color:#70818a !important;
  line-height:1.35;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-selected-item{
  min-height:48px;
  padding:7px 8px;
  background:rgba(255,255,255,.91);
  box-shadow:0 2px 8px rgba(44,82,99,.06);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-selected-item:hover{
  box-shadow:0 4px 12px rgba(44,82,99,.09);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-selected-item__remove{
  min-width:68px;
  justify-content:center;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .siepp-user-list{
  max-height:430px;
  overflow:auto;
  padding-right:2px;
  scrollbar-width:thin;
  scrollbar-color:#c8d7dd transparent;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .siepp-user-item{
  min-height:45px;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .siepp-user-item__name{
  font-size:.66rem;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .siepp-user-item__meta{
  font-size:.56rem;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .siepp-user-item__badge{
  min-width:88px !important;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .siepp-btn,
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-add-btn{
  min-height:29px;
  padding:5px 9px;
  font-size:.58rem;
}
body.siepp-module-calidad-servicio .cs-unit-picker-layout + .cs-form-final-actions{
  margin-top:12px;
}
@media(min-width:1080px){
  body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected{
    position:sticky;
    top:10px;
  }
}
@media(max-width:900px){
  body.siepp-module-calidad-servicio .cs-unit-picker-layout{
    grid-template-columns:1fr;
  }
  body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected{
    position:static;
  }
  body.siepp-module-calidad-servicio .cs-unit-picker-panel .cs-unit-selected-list,
  body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .siepp-user-list{
    max-height:none;
  }
}
@media(max-width:620px){
  body.siepp-module-calidad-servicio .cs-unit-picker-panel{
    padding:9px;
    border-radius:11px;
  }
  body.siepp-module-calidad-servicio .cs-unit-picker-panel__head{
    grid-template-columns:27px minmax(0,1fr);
  }
  body.siepp-module-calidad-servicio .cs-unit-picker-panel__step{
    width:25px;
    height:25px;
  }
}
/* ===== FIN · SELECTOR DE UNIDADES EN DOS PANELES ===== */

/* ========================================================================== 
   CALIDAD DEL SERVICIO · UNIDADES · SELECCIÓN POR FILA
   --------------------------------------------------------------------------
   Capa exclusivamente visual. NO modifica AJAX, endpoint, consulta, POST ni BD.
   - El radio permanece funcional pero invisible.
   - Toda la fila es el control de selección.
   - La fila seleccionada se identifica visualmente.
   - El botón Quitar conserva contraste alto y texto siempre visible.
   ========================================================================== */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item{
  position:relative;
  grid-template-columns:minmax(0,1fr) !important;
  gap:0 !important;
  min-height:48px;
  padding:8px 44px 8px 12px !important;
  cursor:pointer !important;
  user-select:none;
  outline:none;
  transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

/* Ocultamos los adornos/controles anteriores: la fila completa selecciona. */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item__index,
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item__badge{
  display:none !important;
}

/* El radio sigue en el DOM para conservar exactamente la lógica funcional. */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host input[type="radio"][name="busqueda_siimies"]{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  pointer-events:none !important;
}

body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item::after{
  content:'›';
  position:absolute;
  right:13px;
  top:50%;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#557684 !important;
  -webkit-text-fill-color:#557684 !important;
  font:900 1rem/1 "Outfit","Lato",Arial,sans-serif;
  box-shadow:0 1px 4px rgba(42,73,88,.07);
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 13px rgba(42,73,88,.09) !important;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item:hover::after{
  transform:translateY(-50%) translateX(2px);
}

/* La clase is-selected ya la controla el JS existente al seleccionar el radio. */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item.is-selected{
  background:#e3f3e9 !important;
  box-shadow:inset 0 0 0 1px rgba(53,119,82,.09),0 4px 12px rgba(43,95,67,.07) !important;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item.is-selected::after{
  content:'✓';
  background:#4f8a69;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  transform:translateY(-50%);
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item.is-selected .siepp-user-item__name{
  color:#245a3d !important;
  -webkit-text-fill-color:#245a3d !important;
}

/* Accesibilidad de teclado: el radio oculto conserva el foco dentro del label. */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item:focus-within{
  box-shadow:0 0 0 2px rgba(66,132,158,.18),0 4px 12px rgba(42,73,88,.08) !important;
}

/* Quitar: acción destructiva clara, consistente y siempre legible. */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected .cs-unit-selected-item__remove{
  min-width:76px !important;
  min-height:30px !important;
  padding:5px 10px !important;
  justify-content:center !important;
  border:0 !important;
  border-radius:9px !important;
  background:#ad5866 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 3px 8px rgba(141,63,76,.15) !important;
  font-weight:900 !important;
  opacity:1 !important;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected .cs-unit-selected-item__remove *,
body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected .cs-unit-selected-item__remove span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected .cs-unit-selected-item__remove:hover{
  background:#974a57 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 5px 11px rgba(141,63,76,.20) !important;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected .cs-unit-selected-item__remove:active{
  transform:translateY(0);
}

@media(max-width:620px){
  body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item{
    padding:8px 40px 8px 10px !important;
  }
  body.siepp-module-calidad-servicio .cs-unit-picker-panel--selected .cs-unit-selected-item__remove{
    width:100% !important;
  }
}
/* ===== FIN · SELECCIÓN DE UNIDAD POR FILA ===== */

/* ========================================================================== 
   CALIDAD DEL SERVICIO · SELECTOR DE UNIDADES · RADIO TOTALMENTE OCULTO
   --------------------------------------------------------------------------
   La fila <label> sigue activando el radio interno y conserva la lógica
   existente de selección; únicamente se elimina por completo su representación
   visual para que toda la fila sea el control visible.
   ========================================================================== */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host input[type="radio"][name="busqueda_siimies"]{
  display:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}


/* ========================================================================== 
   CALIDAD DEL SERVICIO · UNIDADES · SIN MARCADOR CIRCULAR IZQUIERDO
   --------------------------------------------------------------------------
   El normalizador global de controles puede convertir el <label> completo del
   resultado AJAX en .siepp-choice-tile y dibujar un ::before circular. En este
   selector la fila completa ya es el control visible, por lo que ese marcador
   no debe existir. El input real permanece funcional para la selección.
   ========================================================================== */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item.siepp-choice-tile::before,
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item[data-siepp-choice-radio="1"]::before{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  border:0 !important;
  box-shadow:none !important;
}
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host .siepp-user-item.siepp-choice-tile{
  padding-left:12px !important;
}
/* Defensa adicional: cualquier radio real dentro de este buscador queda fuera
   de la presentación sin afectar su valor ni los eventos change/click. */
body.siepp-module-calidad-servicio .cs-unit-picker-panel--search .cs-unit-search-results-host input[type="radio"][name="busqueda_siimies"]{
  position:absolute !important;
  display:block !important;
  width:1px !important;
  height:1px !important;
  left:-10000px !important;
  top:auto !important;
  margin:0 !important;
  padding:0 !important;
  opacity:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  pointer-events:none !important;
}
/* ===== FIN · SIN MARCADOR CIRCULAR IZQUIERDO ===== */

/* ========================================================================== 
   CALIDAD DEL SERVICIO · RESPONSABLE DE SUCURSAL / REGISTRO CIVIL
   ========================================================================== */
body.siepp-module-calidad-servicio .cs-form-layout-personal-create{
  row-gap:10px !important;
}
body.siepp-module-calidad-servicio .cs-form-layout-personal-create > .siepp-form-block{
  min-width:0;
}
body.siepp-module-calidad-servicio .cs-personal-branch-units{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:8px;
}
body.siepp-module-calidad-servicio .cs-personal-branch-unit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:34px;
  padding:6px 9px;
  border:0 !important;
  border-radius:10px;
  background:rgba(255,255,255,.72);
  box-shadow:0 3px 9px rgba(45,76,88,.06);
  color:#173f52 !important;
  -webkit-text-fill-color:#173f52 !important;
}
body.siepp-module-calidad-servicio .cs-personal-branch-unit strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.72rem;
  font-weight:850;
}
body.siepp-module-calidad-servicio .cs-personal-branch-unit small{
  flex:0 0 auto;
  font-size:.62rem;
  color:#607985 !important;
  -webkit-text-fill-color:#607985 !important;
}
body.siepp-module-calidad-servicio .cs-personal-id-grid{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);
  gap:10px;
  align-items:stretch;
}
body.siepp-module-calidad-servicio .cs-personal-id-search,
body.siepp-module-calidad-servicio .cs-personal-identity-card{
  min-width:0;
  min-height:104px;
  padding:9px 10px;
  border:0 !important;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(49,66,78,.07);
}
body.siepp-module-calidad-servicio .cs-personal-id-search{
  background:#f7f4fc;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card{
  display:flex;
  align-items:center;
  background:#eef8f5;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card.is-error{
  background:#fff3f3;
}
body.siepp-module-calidad-servicio .cs-personal-id-search__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
}
body.siepp-module-calidad-servicio .cs-personal-id-search__row .siepp-btn{
  min-height:36px !important;
  white-space:nowrap;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card__empty{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  color:#60727c !important;
  -webkit-text-fill-color:#60727c !important;
  font-size:.72rem;
  text-align:center;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card__icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  background:#dceef3;
  color:#24657a !important;
  -webkit-text-fill-color:#24657a !important;
  font-size:1rem;
  font-weight:900;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card__data{
  width:100%;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card__status{
  display:inline-flex;
  align-items:center;
  margin-bottom:5px;
  padding:3px 7px;
  border-radius:999px;
  background:#d9f1e5;
  color:#256348 !important;
  -webkit-text-fill-color:#256348 !important;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.02em;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card__data > strong{
  display:block;
  color:#143f52 !important;
  -webkit-text-fill-color:#143f52 !important;
  font-size:.88rem;
  font-weight:900;
  line-height:1.18;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px 12px;
  margin-top:6px;
  color:#536c78 !important;
  -webkit-text-fill-color:#536c78 !important;
  font-size:.65rem;
}
body.siepp-module-calidad-servicio .cs-personal-identity-card__meta b{
  color:#1d4c5e !important;
  -webkit-text-fill-color:#1d4c5e !important;
}
body.siepp-module-calidad-servicio .cs-form-layout-personal-create [data-cs-personal-submit][disabled]{
  opacity:.58;
  cursor:not-allowed;
  filter:saturate(.65);
}
body.siepp-module-calidad-servicio .cs-form-layout-personal-create.is-registry-loading .cs-personal-identity-card{
  animation:csRegistryPulse 1.2s ease-in-out infinite;
}
@keyframes csRegistryPulse{
  0%,100%{opacity:1}
  50%{opacity:.65}
}
@media (prefers-reduced-motion:reduce){
  body.siepp-module-calidad-servicio .cs-form-layout-personal-create.is-registry-loading .cs-personal-identity-card{
    animation:none;
  }
}
@media (max-width:980px){
  body.siepp-module-calidad-servicio .cs-personal-branch-units{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.siepp-module-calidad-servicio .cs-personal-id-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:620px){
  body.siepp-module-calidad-servicio .cs-personal-branch-units{
    grid-template-columns:1fr;
  }
  body.siepp-module-calidad-servicio .cs-personal-id-search__row{
    grid-template-columns:1fr;
  }
  body.siepp-module-calidad-servicio .cs-personal-id-search__row .siepp-btn{
    width:100% !important;
  }
}
/* ===== FIN · RESPONSABLE DE SUCURSAL / REGISTRO CIVIL ===== */


/* ===== SIEPP · CAPA VISUAL GLOBAL SEGURA · 2026-08-20 =====
   BASE: siepp_v2(4).zip (última versión funcional entregada).
   ALCANCE: solo presentación. Calidad del Servicio conserva íntegra su capa
   específica ya aprobada; estas reglas genéricas no la pisan. */
:root{
  --siepp-global-gap:8px;
  --siepp-global-radius:13px;
  --siepp-pastel-1:#eaf5f9;
  --siepp-pastel-1-head:#d8edf4;
  --siepp-pastel-1-ink:#234f61;
  --siepp-pastel-2:#edf7f2;
  --siepp-pastel-2-head:#dcefe5;
  --siepp-pastel-2-ink:#315d4e;
  --siepp-pastel-3:#fbf5e8;
  --siepp-pastel-3-head:#f3e7c9;
  --siepp-pastel-3-ink:#705c2d;
  --siepp-pastel-4:#fbf0f2;
  --siepp-pastel-4-head:#f0dde2;
  --siepp-pastel-4-ink:#744857;
  --siepp-pastel-5:#f3f0fa;
  --siepp-pastel-5-head:#e4def2;
  --siepp-pastel-5-ink:#5d537c;
  --siepp-pastel-6:#f8f2ea;
  --siepp-pastel-6-head:#ecdfcf;
  --siepp-pastel-6-ink:#6e573d;

  --siepp-btn-primary-a:#815f79;
  --siepp-btn-primary-b:#6e5067;
  --siepp-btn-secondary-a:#6b7c86;
  --siepp-btn-secondary-b:#586973;
  --siepp-btn-info-a:#4a849b;
  --siepp-btn-info-b:#3c7084;
  --siepp-btn-success-a:#4d8b70;
  --siepp-btn-success-b:#3e755d;
  --siepp-btn-warning-a:#a57a42;
  --siepp-btn-warning-b:#8c6534;
  --siepp-btn-danger-a:#aa5969;
  --siepp-btn-danger-b:#914959;
}

/* CERO PANTALLA EN BLANCO: conserva la fase de normalización, pero jamás
   oculta el contenido. Esto elimina el parpadeo entre scripts. */
html.siepp-js-loading .siepp-app-main__frame,
html.siepp-js-ready .siepp-app-main__frame{
  visibility:visible !important;
  opacity:1 !important;
  animation:none !important;
}
html.siepp-js-loading .siepp-app-main__frame *,
html.siepp-js-loading .siepp-app-main__frame *::before,
html.siepp-js-loading .siepp-app-main__frame *::after{
  transition:none !important;
  animation:none !important;
}

/* Las reglas siguientes son GLOBALES para módulos históricos, pero se excluye
   Calidad del Servicio porque ya posee su presentación especializada. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame{
  --siepp-ui-gap:8px;
  --siepp-form-radius:14px;
}
body.siepp-global:not(.siepp-module-calidad-servicio).siepp-module-page .siepp-app-main__frame,
body.siepp-global:not(.siepp-module-calidad-servicio).siepp-profile-page .siepp-app-main__frame{
  padding:9px 11px 13px !important;
  overflow-x:hidden;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame > .siepp-page-section,
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-page-section{
  margin-bottom:6px !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame > h1,
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-page-section h1{
  margin:2px 0 7px !important;
  font-size:clamp(20px,2.25vw,27px) !important;
  line-height:1.08 !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(h2,h3,h4,h5,h6){margin-top:3px;margin-bottom:5px}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(p,ul,ol){margin-top:3px;margin-bottom:5px}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame br + br{display:none}

body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(
 .siepp-grid-row,.siepp-content-stack,.siepp-panel-grid,.siepp-form-section-grid,
 .siepp-info-layout,.siepp-workflow-matrix
){gap:7px 8px !important;margin-bottom:7px !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(
 .siepp-global-section,.siepp-workflow-section,.siepp-panel,.siepp-card,
 .siepp-form-card,.siepp-content-box,.siepp-form-section
){margin-top:0 !important;margin-bottom:7px !important}

/* MATRICES AUTOMÁTICAS: aprovecha el ancho disponible cuando el HTML histórico
   tiene 2, 3 o 4 columnas hermanas sin span explícito. */
@media(min-width:900px){
  body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row:has(> .siepp-grid-col:nth-child(2):last-child)
    > .siepp-grid-col:not([class*="siepp-grid-col--span-"]){grid-column:span 6 !important}
  body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row:has(> .siepp-grid-col:nth-child(3):last-child)
    > .siepp-grid-col:not([class*="siepp-grid-col--span-"]){grid-column:span 4 !important}
  body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row:has(> .siepp-grid-col:nth-child(4):last-child)
    > .siepp-grid-col:not([class*="siepp-grid-col--span-"]){grid-column:span 3 !important}
}

/* Primera pintura CSS: los contenedores históricos ya nacen como superficies
   suaves; JS solo completa tono/matriz sin mostrar primero una caja blanca. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(
 .siepp-content-box,.siepp-panel,.siepp-form-section,.siepp-info-panel
):not(.siepp-shell-flat):not(.siepp-choice-card):not(.siepp-feature-card){
  border:0 !important;
  border-radius:var(--siepp-global-radius) !important;
  background:#f3f8fa;
  box-shadow:0 4px 13px rgba(42,66,78,.06);
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row > :where(.siepp-content-box,.siepp-panel):nth-child(6n+1){background:var(--siepp-pastel-1)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row > :where(.siepp-content-box,.siepp-panel):nth-child(6n+2){background:var(--siepp-pastel-2)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row > :where(.siepp-content-box,.siepp-panel):nth-child(6n+3){background:var(--siepp-pastel-3)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row > :where(.siepp-content-box,.siepp-panel):nth-child(6n+4){background:var(--siepp-pastel-4)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row > :where(.siepp-content-box,.siepp-panel):nth-child(6n+5){background:var(--siepp-pastel-5)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-grid-row > :where(.siepp-content-box,.siepp-panel):nth-child(6n+6){background:var(--siepp-pastel-6)}

/* Sections pastel: el color vive en el fondo, NUNCA en bordes coloreados. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(
 .siepp-global-section,.siepp-workflow-section,.siepp-form-pastel-section,.siepp-visual-prime-section
){
  border:0 !important;
  border-radius:var(--siepp-global-radius) !important;
  background:var(--siepp-section-bg,var(--siepp-pastel-1)) !important;
  box-shadow:0 4px 13px rgba(42,66,78,.075) !important;
  overflow:hidden;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section,.siepp-workflow-section,.siepp-form-pastel-section){padding:8px 10px !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section--tone-1,.siepp-workflow-section--tone-1,.siepp-form-pastel--1,.siepp-visual-prime-tone-1){--siepp-section-bg:var(--siepp-pastel-1);--siepp-section-head:var(--siepp-pastel-1-head);--siepp-section-ink:var(--siepp-pastel-1-ink)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section--tone-2,.siepp-workflow-section--tone-2,.siepp-form-pastel--2,.siepp-visual-prime-tone-2){--siepp-section-bg:var(--siepp-pastel-2);--siepp-section-head:var(--siepp-pastel-2-head);--siepp-section-ink:var(--siepp-pastel-2-ink)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section--tone-3,.siepp-workflow-section--tone-3,.siepp-form-pastel--3,.siepp-visual-prime-tone-3){--siepp-section-bg:var(--siepp-pastel-3);--siepp-section-head:var(--siepp-pastel-3-head);--siepp-section-ink:var(--siepp-pastel-3-ink)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section--tone-4,.siepp-workflow-section--tone-4,.siepp-form-pastel--4,.siepp-visual-prime-tone-4){--siepp-section-bg:var(--siepp-pastel-4);--siepp-section-head:var(--siepp-pastel-4-head);--siepp-section-ink:var(--siepp-pastel-4-ink)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section--tone-5,.siepp-workflow-section--tone-5,.siepp-form-pastel--5,.siepp-visual-prime-tone-5){--siepp-section-bg:var(--siepp-pastel-5);--siepp-section-head:var(--siepp-pastel-5-head);--siepp-section-ink:var(--siepp-pastel-5-ink)}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section--tone-6,.siepp-workflow-section--tone-6,.siepp-form-pastel--6,.siepp-visual-prime-tone-6){--siepp-section-bg:var(--siepp-pastel-6);--siepp-section-head:var(--siepp-pastel-6-head);--siepp-section-ink:var(--siepp-pastel-6-ink)}

body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section__heading,.siepp-workflow-heading,.siepp-form-pastel-heading,.siepp-section-heading){
  color:var(--siepp-section-ink,#294d5b) !important;
  -webkit-text-fill-color:var(--siepp-section-ink,#294d5b) !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section__heading,.siepp-workflow-section>.siepp-workflow-heading){
  margin:-8px -10px 7px !important;
  padding:7px 10px !important;
  border:0 !important;
  border-bottom:1px solid rgba(66,87,97,.08) !important;
  border-radius:0 !important;
  background:var(--siepp-section-head,rgba(210,232,240,.8)) !important;
  font-size:.76rem !important;
  line-height:1.18 !important;
}

/* Microcajas internas se aplanan: un section debe leerse como UNA unidad. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section,.siepp-workflow-section)
 :where(.siepp-panel,.siepp-card,.siepp-form-card,.siepp-content-box,.siepp-form-section).siepp-shell-flat{
  border:0 !important;background:transparent !important;box-shadow:none !important;border-radius:0 !important;
}

/* Datos: matrices compactas para información tipo etiqueta/valor. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-fact-grid,.siepp-info-grid,.siepp-data-list){
  gap:4px 9px !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-fact-grid{
  grid-template-columns:repeat(auto-fit,minmax(155px,1fr)) !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-fact-item,.siepp-info-item,.siepp-data-row){
  min-height:0 !important;padding:3px 1px 4px !important;border:0 !important;background:transparent !important;box-shadow:none !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-fact-item__label,.siepp-info-item__key,.siepp-data-row__label){
  margin-bottom:1px !important;font-size:.64rem !important;line-height:1.05 !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-fact-item__value,.siepp-info-item__value,.siepp-data-row__value){
  font-size:.76rem !important;line-height:1.16 !important;
}

/* Formularios: compactos, uniformes y legibles. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame form.siepp-form,
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-form-fragment{row-gap:7px !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-field,.siepp-select,input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),select,textarea){min-height:34px}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame textarea{min-height:68px}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-field-label{margin-bottom:4px !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-form-note{margin-top:4px !important}

/* Botones globales: varios colores por acción, texto blanco, misma geometría,
   sin borde de color. Las clases semánticas existentes siguen mandando. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button,button:not(.siepp-captcha-refresh),input[type=submit],input[type=button],input[type=reset]){
  min-height:35px !important;padding:7px 13px !important;border:0 !important;border-radius:9px !important;
  color:#fff !important;-webkit-text-fill-color:#fff !important;box-shadow:0 4px 11px rgba(38,58,70,.14) !important;
  font-size:.72rem !important;line-height:1.12 !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="1"]{background:linear-gradient(135deg,var(--siepp-btn-info-a),var(--siepp-btn-info-b)) !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="2"]{background:linear-gradient(135deg,var(--siepp-btn-success-a),var(--siepp-btn-success-b)) !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="3"]{background:linear-gradient(135deg,var(--siepp-btn-primary-a),var(--siepp-btn-primary-b)) !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="4"]{background:linear-gradient(135deg,var(--siepp-btn-warning-a),var(--siepp-btn-warning-b)) !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="5"]{background:linear-gradient(135deg,var(--siepp-btn-secondary-a),var(--siepp-btn-secondary-b)) !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-access-action[data-siepp-access-tone="6"]{background:linear-gradient(135deg,#5d769a,#4d6588) !important}

/* Acción final centrada de forma global cuando JS la identifica. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-final-actions{
  display:flex !important;flex-wrap:wrap;justify-content:center !important;align-items:center;gap:7px;width:100%;margin:8px auto 1px !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-final-actions > :where(.siepp-btn,button,input[type=submit],input[type=button]){min-width:132px}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(button,input).siepp-form-final-control{
  display:flex !important;width:max-content;min-width:132px;max-width:100%;margin:8px auto 1px !important;
}

/* Imágenes de acción: la imagen ES la acción. Sin botón gris, sin marco/borde. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(img.siepp-section-icon,img.siepp-form-module-icon,img.siepp-choice-image,.siepp-visual-option__image){
  border:0 !important;outline:0;background:transparent !important;box-shadow:none !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(a,button).siepp-image-only-action,
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-visual-option > a:has(>img:only-child){
  min-width:0 !important;min-height:0 !important;padding:0 !important;border:0 !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;filter:none !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(a,button).siepp-image-only-action:hover,
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-visual-option > a:has(>img:only-child):hover{
  border:0 !important;background:transparent !important;box-shadow:none !important;transform:translateY(-2px);
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(a,button).siepp-image-only-action > img,
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-visual-option > a:has(>img:only-child) > img{
  max-width:126px !important;max-height:126px !important;width:auto !important;height:auto !important;border:0 !important;border-radius:0 !important;
  background:transparent !important;box-shadow:none !important;filter:drop-shadow(0 6px 5px rgba(44,65,75,.12));
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame img.siepp-choice-image.is-selected{
  border:0 !important;box-shadow:none !important;filter:drop-shadow(0 7px 5px rgba(43,88,100,.18)) saturate(1.04) !important;
}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-choice-gallery,.siepp-visual-options-grid){gap:8px !important;align-items:start;justify-content:center}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-visual-option{width:min(142px,100%) !important;margin:2px !important}

/* Iconos de encabezado pequeños: no deben robar espacio útil. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame img.siepp-section-icon{
  width:34px !important;height:34px !important;max-width:34px !important;max-height:34px !important;object-fit:contain;margin-right:6px !important;
}

/* Tablas/listados compactos, sin sacrificar legibilidad. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame table th,
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame table.dataTable thead th{padding:6px 7px !important;font-size:.68rem !important;line-height:1.1 !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame table td,
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame table.dataTable tbody td{padding:5px 7px !important;font-size:.71rem !important;line-height:1.16 !important}

/* Acordeones: compactos y suaves. */
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-accordion-trigger{min-height:37px !important;padding:7px 10px !important;border:0 !important;box-shadow:0 3px 10px rgba(43,63,74,.10) !important}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-accordion-chevron{transition:transform .2s ease}
body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame .siepp-collapse{transition:grid-template-rows .22s ease,opacity .18s ease}

@media(max-width:767.98px){
  body.siepp-global:not(.siepp-module-calidad-servicio).siepp-module-page .siepp-app-main__frame,
  body.siepp-global:not(.siepp-module-calidad-servicio).siepp-profile-page .siepp-app-main__frame{padding:8px 8px 11px !important}
  body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(.siepp-global-section,.siepp-workflow-section,.siepp-form-pastel-section){padding:7px 8px !important}
  body.siepp-global:not(.siepp-module-calidad-servicio) .siepp-app-main__frame :where(a,button).siepp-image-only-action > img{max-width:112px !important;max-height:112px !important}
}
/* ===== FIN · CAPA VISUAL GLOBAL SEGURA ===== */


/* ========================================================================== 
   SIEPP · ACCIONES VISUALES SIN MARCOS · GLOBAL ABSOLUTO
   La imagen es la acción. No se dibuja botón, marco, fondo, borde, halo ni
   sombra alrededor de imágenes clicables. Se aplica a TODOS los módulos.
   ========================================================================== */
html body .siepp-app-main__frame :where(a,button,input[type="image"]).siepp-image-only-action,
html body :where(a,button,input[type="image"]).siepp-image-only-action{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
html body .siepp-app-main__frame :where(a,button,input[type="image"]).siepp-image-only-action:hover,
html body .siepp-app-main__frame :where(a,button,input[type="image"]).siepp-image-only-action:active,
html body .siepp-app-main__frame :where(a,button,input[type="image"]).siepp-image-only-action:focus,
html body :where(a,button,input[type="image"]).siepp-image-only-action:hover,
html body :where(a,button,input[type="image"]).siepp-image-only-action:active,
html body :where(a,button,input[type="image"]).siepp-image-only-action:focus{
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
}
html body .siepp-app-main__frame .siepp-image-only-action > img,
html body .siepp-app-main__frame img.siepp-image-only-action,
html body .siepp-image-only-action > img,
html body img.siepp-image-only-action{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
}
/* Selección/hover sin marcos de color: solo una variación mínima de escala/opacidad. */
html body .siepp-image-only-action:hover > img{transform:translateY(-1px) scale(1.01) !important;opacity:.98 !important}
html body .siepp-image-only-action:active > img{transform:scale(.99) !important;opacity:.96 !important}
html body .siepp-image-only-action > img.is-selected,
html body .siepp-image-only-action.is-selected > img,
html body img.siepp-choice-image.is-selected{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
/* No permitir que una clase de botón semántico vuelva a pintar el contenedor. */
html body :where(.siepp-btn,.siepp-action-btn,.siepp-resource-link,.siepp-choice-button).siepp-image-only-action{
  color:inherit !important;
  -webkit-text-fill-color:initial !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  padding:0 !important;
}
/* ========================================================================== 
   FIN · ACCIONES VISUALES SIN MARCOS
   ========================================================================== */

/* ========================================================================== 
   SIEPP · TALENTO HUMANO · DETALLE DEL SERVIDOR EN SECTIONS
   Ajuste visual localizado para gestion_servidor_cargo/modificacion_servidor/
   detalles_servidor.php. No modifica POST, consultas ni reglas de negocio.
   ========================================================================== */
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-grid{
  display:block;
  width:100%;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-shell{
  width:100%;
  margin:0;
  padding:10px;
  border:0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 24px rgba(38,59,70,.07);
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-shell--secondary{
  margin-top:10px;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-shell > form,
body.siepp-module-gestion-servidor-cargo form.siepp-th-secondary-form{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-kicker{
  display:flex;
  align-items:center;
  min-height:34px;
  margin:0 0 9px;
  padding:7px 10px;
  border:0;
  border-radius:10px;
  background:linear-gradient(90deg,#eaf5f8 0%,#f4eff8 100%);
  color:#274553;
  font-family:var(--siepp-font-heading,"Outfit",sans-serif);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-content,
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-sections{
  display:grid;
  gap:9px;
  width:100%;
  min-width:0;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section{
  --th-head:#eaf5f8;
  --th-body:#f8fbfc;
  --th-accent:#477d91;
  overflow:hidden;
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:13px;
  background:var(--th-body);
  box-shadow:0 4px 13px rgba(40,62,74,.055);
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section--tone-1{--th-head:#dff1f6;--th-body:#f5fbfd;--th-accent:#39778d}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section--tone-2{--th-head:#ece6f6;--th-body:#faf8fd;--th-accent:#6c5f91}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section--tone-3{--th-head:#e1f1e8;--th-body:#f7fcf9;--th-accent:#4d7d68}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section--tone-4{--th-head:#f8eddc;--th-body:#fffaf3;--th-accent:#8a6b3f}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section--tone-5{--th-head:#f5e5e9;--th-body:#fff8fa;--th-accent:#8b5865}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section__head{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:39px;
  padding:7px 10px;
  border:0;
  background:var(--th-head);
  color:#223e49;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section__head > div{
  min-width:0;
  text-align:left;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section__number{
  display:inline-flex;
  flex:0 0 24px;
  width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--th-accent);
  font-size:.69rem;
  font-weight:900;
  line-height:1;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section__head h5{
  margin:0;
  padding:0;
  color:#173542;
  font-size:.79rem;
  font-weight:850;
  line-height:1.1;
  letter-spacing:.018em;
  text-align:left;
  text-transform:uppercase;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section__head small{
  display:block;
  margin-top:2px;
  color:#5f7480;
  font-size:.67rem;
  font-weight:600;
  line-height:1.15;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section__body{
  padding:7px 10px 8px;
  background:var(--th-body);
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-matrix{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:0 12px;
  align-items:start;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item{
  min-width:0;
  grid-column:span 12;
  padding:6px 2px 7px;
  border:0;
  border-bottom:1px solid rgba(74,99,112,.12);
  background:transparent;
  color:#203b47;
  text-align:left;
  overflow-wrap:anywhere;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-3{grid-column:span 3}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-4{grid-column:span 4}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-6{grid-column:span 6}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-8{grid-column:span 8}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-12{grid-column:1/-1}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item__key{
  display:block;
  margin:0 0 2px;
  color:#607985;
  font-size:.64rem;
  font-weight:850;
  line-height:1.1;
  letter-spacing:.045em;
  text-transform:uppercase;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item strong{
  display:block;
  color:#17333f;
  font-size:.78rem;
  font-weight:850;
  line-height:1.22;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-field-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-field-row input,
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--field select{
  width:100%;
  min-width:0;
  height:34px;
  margin:0;
  padding:5px 8px;
  border:1px solid #cbdbe2;
  border-radius:8px;
  background:#fff;
  color:#1d3843;
  font-size:.75rem;
  box-shadow:none;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-field-row input:disabled{
  opacity:1;
  background:#f4f7f8;
  color:#5d7079;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-field-row .siepp-field-edit{
  min-height:34px;
  margin:0;
  padding:5px 11px;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-subgroup{
  grid-column:1/-1;
  margin:5px 0 2px;
  padding:0;
  border:0;
  border-radius:9px;
  background:rgba(255,255,255,.55);
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-subgroup__title{
  padding:5px 7px 3px;
  color:var(--th-accent);
  font-size:.66rem;
  font-weight:850;
  line-height:1.1;
  text-transform:uppercase;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-subgroup__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 12px;
  padding:0 7px 2px;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-note{
  margin:0 0 7px;
  padding:6px 8px;
  border:0;
  border-radius:8px;
  background:rgba(255,255,255,.72);
  color:#536c77;
  font-size:.7rem;
  font-weight:600;
  line-height:1.25;
  text-align:left;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-note--warning{
  background:#fff4df;
  color:#795a2c;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-item{
  display:flex;
  min-width:0;
  min-height:70px;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  padding:7px 8px;
  border:0;
  border-radius:9px;
  background:#f1f5f6;
  color:#526872;
  text-align:left;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-item span{
  font-size:.62rem;
  font-weight:850;
  line-height:1.1;
  text-transform:uppercase;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-item strong{
  font-size:.76rem;
  font-weight:900;
  line-height:1.12;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-item small{
  color:#70818a;
  font-size:.61rem;
  font-weight:600;
  line-height:1.14;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-item.is-ok{background:#e8f5ed;color:#356b54}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-item.is-danger{background:#fae9ed;color:#8b4756}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-item.is-info{background:#e8f3f8;color:#3d6f84}
body.siepp-module-gestion-servidor-cargo .siepp-th-status-item.is-neutral{background:#f3f1ea;color:#766948}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  margin:9px 0 0;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-actions--inside{
  margin:0;
  padding:0 10px 9px;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-secondary-form{
  margin-top:9px!important;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-blocked-action{
  display:grid;
  gap:2px;
  margin-top:7px;
  padding:7px 9px;
  border:0;
  border-radius:9px;
  background:#fae9ed;
  color:#814653;
  text-align:left;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-blocked-action strong{
  font-size:.72rem;
  font-weight:900;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-blocked-action span{
  font-size:.68rem;
  font-weight:650;
  line-height:1.2;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-section--compact .siepp-th-detail-section__body{
  padding-bottom:8px;
}
body.siepp-module-gestion-servidor-cargo .siepp-th-detail-shell :where(.siepp-divider,hr){display:none}

@media(max-width:980px){
  body.siepp-module-gestion-servidor-cargo .siepp-th-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-3,
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-4{grid-column:span 6}
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-8{grid-column:span 6}
}
@media(max-width:640px){
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-shell{padding:7px;border-radius:12px}
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-matrix{grid-template-columns:minmax(0,1fr)}
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-3,
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-4,
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-6,
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-8,
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-item--span-12{grid-column:1/-1}
  body.siepp-module-gestion-servidor-cargo .siepp-th-status-grid,
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-subgroup__grid{grid-template-columns:minmax(0,1fr)}
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-field-row{grid-template-columns:minmax(0,1fr)}
  body.siepp-module-gestion-servidor-cargo .siepp-th-detail-field-row .siepp-field-edit{width:100%}
}
