/*
 * SYM Capacitaciones – adaptación visual SYM Control Operativo.
 * Solamente navegación compartida y pantalla de perfil. Sin alterar
 * rutas, roles, controles de acceso ni las páginas académicas.
 */

/* Encabezado: misma línea gráfica de SYM Trabajo. */
body.cap-control-v74 .topbar.topbar-control {
  min-height:90px;
  padding-top:10px;
  padding-bottom:10px;
  border-bottom:2px solid #1685eb;
  background:#fff;
  box-shadow:0 10px 30px rgba(22,56,106,.065);
  grid-template-columns:minmax(280px,auto) minmax(0,1fr) 86px;
  gap:clamp(10px,1.7vw,27px);
}
body.cap-control-v74 .topbar.topbar-control::after { display:none; }
body.cap-control-v74 .control-brand { gap:14px; }
body.cap-control-v74 .control-logo-wrap { height:55px; }
body.cap-control-v74 .control-brand-copy strong { color:#1a367b; font-weight:900; font-size:clamp(17px,1.4vw,22px);letter-spacing:-.02em; }
body.cap-control-v74 .control-brand-copy strong b { color:#1d3c88; font-weight:900; }
body.cap-control-v74 .control-brand-copy small { color:#61758c; font-size:10px; font-weight:700; }
body.cap-control-v74 .control-nav { gap:2px; }
body.cap-control-v74 .control-nav a.nav-item {
  min-height:40px;
  gap:7px;
  font-size:12px;
  font-weight:850;
  padding:9px 11px;
  border-radius:12px;
  color:#263f68;
}
body.cap-control-v74 .control-nav a.nav-item.is-active,
body.cap-control-v74 .control-nav a.nav-item:hover { color:#135bb0; }
body.cap-control-v74 .control-nav a.nav-item.is-active { background:#edf6ff;border-color:#dcecff; }
body.cap-control-v74 .control-nav a.nav-item.is-active::after { bottom:-9px; }
body.cap-control-v74 .control-account { border-left:1px solid #d8e4ef; }
body.cap-control-v74 .control-account .nav-profile img,
body.cap-control-v74 .control-account .nav-profile .profile-initials { border-radius:9px; }
body.cap-control-v74 .control-account .nav-profile:hover { opacity:.78; }
body.cap-control-v74 .control-account .nav-profile.is-active .nav-profile-text strong {color:#145bb0;}
body.cap-control-v74 .control-kabat { border-left:1px solid #d8e4ef; }

/* Mi perfil: disposición, tamaños y tarjetas de SYM Control Operativo. */
body.cap-control-v74 .cap-profile-page { width:100%;padding:0 0 4px; }
body.cap-control-v74 .cap-profile-hero,
body.cap-control-v74 .cap-profile-card {
  border:1px solid #dce6f0;
  background:#fff;
  box-shadow:0 12px 29px rgba(32,69,96,.085);
}
body.cap-control-v74 .cap-profile-hero {
  min-width:0;
  display:flex;
  align-items:center;
  gap:23px;
  padding:24px;
  margin-bottom:19px;
  min-height:166px;
  border-radius:23px;
}
body.cap-control-v74 .cap-profile-photo {
  display:grid;
  flex:0 0 112px;
  width:112px;
  height:112px;
  place-items:center;
  overflow:hidden;
  color:#1a4885;
  background:#e6f2ff;
  border:4px solid #fff;
  border-radius:26px;
  box-shadow:0 9px 26px rgba(30,72,143,.16);
  font-weight:950;
  font-size:34px;
}
body.cap-control-v74 .cap-profile-photo img { width:100%;height:100%;object-fit:cover;display:block; }
body.cap-control-v74 .cap-profile-identity { flex:1;min-width:0; }
body.cap-control-v74 .cap-profile-eyebrow {
  color:#147be5;
  letter-spacing:.2em;
  font-size:10px;
  font-weight:900;
}
body.cap-control-v74 .cap-profile-identity h1 {
  margin:9px 0 12px;
  font-weight:900;
  color:#1a367b;
  font-size:clamp(24px,2.4vw,34px);
  line-height:1.15;
  overflow-wrap:anywhere;
}
body.cap-control-v74 .cap-profile-badges { display:flex;flex-wrap:wrap;gap:8px; }
body.cap-control-v74 .cap-profile-badges span {
  border-radius:999px;
  padding:6px 11px;
  background:#f0f4f8;
  color:#52637b;
  font-size:11px;
  font-weight:800;
}
body.cap-control-v74 .cap-profile-badges .cap-profile-badge-warning { background:#fff6db;color:#856211; }
body.cap-control-v74 .cap-profile-hero-action {
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  min-height:39px;
  border:1px solid #bcd6fc;
  border-radius:12px;
  background:#eff6ff;
  color:#14549b;
  text-decoration:none;
  padding:9px 13px;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
body.cap-control-v74 .cap-profile-hero-action:hover { background:#e1f0ff; }
body.cap-control-v74 .cap-profile-hero-action svg { width:16px;height:16px; }
body.cap-control-v74 .cap-profile-layout {
  display:grid;
  grid-template-columns:minmax(0,1.78fr) minmax(320px,.88fr);
  align-items:start;
  gap:18px;
}
body.cap-control-v74 .cap-profile-card { min-width:0;padding:20px;border-radius:22px; }
body.cap-control-v74 .cap-profile-card h2 {
  margin:3px 0 22px;
  color:#1a367b;
  font-size:23px;
  font-weight:900;
  line-height:1.15;
}
body.cap-control-v74 .cap-profile-fields { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 14px;margin-bottom:20px; }
body.cap-control-v74 .cap-profile-field { min-width:0;display:flex;flex-direction:column;gap:9px; }
body.cap-control-v74 .cap-profile-field label { color:#35425c;font-size:14px;font-weight:850;line-height:1.25; }
body.cap-control-v74 .cap-profile-field label small { font-size:11px;color:#7c8b9d; }
body.cap-control-v74 .cap-profile-field input {
  width:100%;
  min-width:0;
  min-height:49px;
  padding:11px 13px;
  border-radius:15px;
  border:1px solid #cbd9ea;
  background:#fff;
  color:#28374f;
  font:inherit;
  font-size:14px;
  box-shadow:none;
}
body.cap-control-v74 .cap-profile-field input[type=file] { min-height:50px;padding:10px 12px;cursor:pointer; }
body.cap-control-v74 .cap-profile-field input:focus-visible { outline:3px solid rgba(25,132,238,.17);border-color:#2781e4; }
body.cap-control-v74 .cap-profile-photo-row { display:grid;grid-template-columns:minmax(0,1fr) 28%;gap:16px;margin-bottom:17px; }
body.cap-control-v74 .cap-profile-account-strip {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  min-height:42px;
  padding:9px 14px;
  margin:15px 0;
  background:#f5f8fc;
  border:1px solid #dce7f5;
  border-radius:15px;
}
body.cap-control-v74 .cap-profile-account-strip>div { display:flex;align-items:center;gap:13px;min-width:0;flex:1; }
body.cap-control-v74 .cap-profile-account-strip span { color:#718399;font-size:11px; }
body.cap-control-v74 .cap-profile-account-strip strong { color:#1a367b;font-size:12px;font-weight:850; }
body.cap-control-v74 .cap-profile-form-actions { display:flex;gap:12px;align-items:center; }
body.cap-control-v74 .cap-profile-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  border:0;
  border-radius:13px;
  background:linear-gradient(120deg,#21529f,#238de9);
  color:#fff;
  padding:10px 16px;
  box-shadow:0 8px 18px rgba(35,106,201,.16);
  cursor:pointer;
  font:inherit;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
}
body.cap-control-v74 .cap-profile-button:hover { filter:brightness(1.055); }
body.cap-control-v74 .cap-profile-remove-photo { display:inline-flex;margin-top:12px; }
body.cap-control-v74 .cap-profile-text-action {
  background:transparent;
  color:#416a9c;
  box-shadow:none;
  border:0;
  padding:5px 0;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
body.cap-control-v74 .cap-profile-text-action:hover { color:#aa3c40;background:transparent; }
body.cap-control-v74 .cap-profile-aside { display:grid;gap:17px;min-width:0; }
body.cap-control-v74 .cap-profile-password-form { display:grid;gap:15px; }
body.cap-control-v74 .cap-profile-security { scroll-margin-top:110px; }
body.cap-control-v74 .cap-profile-security .cap-profile-button { justify-self:start;margin-top:0; }
body.cap-control-v74 .cap-profile-record h2 { font-size:19px;margin-bottom:12px; }
body.cap-control-v74 .cap-profile-record dl { margin:0; }
body.cap-control-v74 .cap-profile-record dl>div { display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #edf2f8; }
body.cap-control-v74 .cap-profile-record dl>div:last-child { border:0; }
body.cap-control-v74 .cap-profile-record dt { color:#7b8799;font-size:11px; }
body.cap-control-v74 .cap-profile-record dd { margin:0;color:#263f6e;text-align:right;font-size:11px;font-weight:800; }
body.cap-control-v74 .cap-profile-password-notice { margin-bottom:18px; }

@media(max-width:1440px) and (min-width:1081px) {
  body.cap-control-v74 .topbar.topbar-control { gap:10px;padding-left:22px;padding-right:22px;grid-template-columns:minmax(250px,auto) minmax(0,1fr) 68px; }
  body.cap-control-v74 .control-brand-copy strong { font-size:17px; }
  body.cap-control-v74 .control-brand-copy small { font-size:9px; }
  body.cap-control-v74 .control-nav a.nav-item { padding:8px 7px;font-size:11px;gap:5px; }
  body.cap-control-v74 .control-account { gap:6px;margin-left:9px;padding-left:9px; }
}
@media(max-width:1240px) {
  body.cap-control-v74 .topbar.topbar-control { grid-template-columns:minmax(0,1fr) auto 60px;grid-template-areas:"controlbrand controltoggle controlkabat";min-height:69px;padding:7px 16px; }
  body.cap-control-v74 .control-menu-toggle {display:inline-flex;}
  body.cap-control-v74 .control-nav {display:none;position:absolute;top:68px;right:16px;width:min(330px,calc(100vw - 32px));max-height:calc(100dvh - 83px);overflow:auto;padding:10px;border:1px solid #dbe7f3;border-radius:18px;background:#fff;box-shadow:0 20px 45px rgba(29,64,109,.18);flex-direction:column;align-items:stretch;gap:3px;z-index:60;}
  body.cap-control-v74.nav-open .control-nav {display:flex;}
  body.cap-control-v74 .control-account {width:100%;margin:8px 0 0;padding:10px 0 0;justify-content:flex-start;}
  body.cap-control-v74 .control-nav a.nav-item {min-height:43px;justify-content:flex-start;width:100%;}
  body.cap-control-v74 .control-nav a.nav-item.is-active::after {display:none;}
  body.cap-control-v74 .control-account { border-left:0;border-top:1px solid #edf2f7; }
  body.cap-control-v74 .cap-profile-layout { grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr); }
  body.cap-control-v74 .cap-profile-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:840px) {
  body.cap-control-v74 .cap-profile-layout { grid-template-columns:1fr; }
  body.cap-control-v74 .cap-profile-hero { gap:15px;flex-wrap:wrap;padding:19px; }
  body.cap-control-v74 .cap-profile-photo {flex-basis:84px;width:84px;height:84px;border-radius:21px;}
  body.cap-control-v74 .cap-profile-hero-action { margin-left:auto; }
}
@media(max-width:600px) {
  body.cap-control-v74 .topbar.topbar-control {grid-template-columns:minmax(0,1fr) auto 43px;padding:7px 10px;}
  body.cap-control-v74 .control-brand {gap:8px;}
  body.cap-control-v74 .control-logo-wrap {width:50px;padding:0;border:0;}
  body.cap-control-v74 .control-brand-copy strong {font-size:13px;white-space:normal;}
  body.cap-control-v74 .control-brand-copy small {display:none;}
  body.cap-control-v74 .control-kabat {width:40px;padding-left:4px;}
  body.cap-control-v74 .cap-profile-hero {padding:16px;min-height:0;gap:12px;border-radius:20px;}
  body.cap-control-v74 .cap-profile-photo {flex-basis:66px;width:66px;height:66px;border-radius:18px;}
  body.cap-control-v74 .cap-profile-identity h1 {font-size:21px;}
  body.cap-control-v74 .cap-profile-badges span {padding:5px 9px;font-size:10px;}
  body.cap-control-v74 .cap-profile-hero-action {width:100%;margin:3px 0 0;}
  body.cap-control-v74 .cap-profile-card {padding:16px;border-radius:19px;}
  body.cap-control-v74 .cap-profile-card h2 {font-size:21px;margin-bottom:17px;}
  body.cap-control-v74 .cap-profile-fields {grid-template-columns:1fr;gap:15px;}
  body.cap-control-v74 .cap-profile-photo-row {grid-template-columns:1fr;}
  body.cap-control-v74 .cap-profile-field label {font-size:13px;}
  body.cap-control-v74 .cap-profile-field input {font-size:16px;}
  body.cap-control-v74 .cap-profile-record dl>div {align-items:flex-start;flex-direction:column;gap:3px;}
  body.cap-control-v74 .cap-profile-record dd {text-align:left;}
}
@media print {body.cap-control-v74 .cap-profile-hero-action {display:none;}}
