:root{--color-primary:#00129A;--color-primary-dark:#000E7A;--color-secondary:#6491E3;--color-accent:#6491E3;--color-bg:#f1f5f9;--color-surface:#ffffff;--color-surface-soft:#EBF1FC;--color-border:rgba(0, 0, 0, 0.08);--color-text:#0f172a;--color-text-muted:#475569;--color-success:#198754;--color-warning:#92400e;--color-danger:#9f1239;--font-main:"Nunito","Lato",system-ui,-apple-system,sans-serif;--font-heading:"Nunito","Lato",system-ui,sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-xxl:1.5rem;--font-regular:400;--font-medium:600;--font-semibold:700;--font-bold:800;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 3px rgba(0, 18, 154, 0.06);--shadow-md:0 4px 12px rgba(0, 18, 154, 0.08);--shadow-lg:0 8px 24px rgba(0, 18, 154, 0.1);--sidebar-width:180px;--sidebar-width-wide:260px;--header-height:52px;--content-max-width:1440px;--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base:200ms cubic-bezier(0.4, 0, 0.2, 1);--cs-sidebar-w:var(--sidebar-width);--cs-bg:var(--color-bg);--cs-bg-card:var(--color-surface);--cs-border:var(--color-border);--cs-text:var(--color-text);--cs-text-muted:var(--color-text-muted);--cs-text-light:#64748b;--cs-accent:var(--color-primary);--cs-accent-soft:var(--color-surface-soft);--cs-accent-mid:var(--color-secondary);--cs-green:var(--color-success);--cs-green-soft:rgba(25, 135, 84, 0.08);--cs-radius:var(--radius-md);--cs-radius-sm:var(--radius-sm);--cs-radius-pill:999px;--cs-btn-h:36px;--cs-gap:0.55rem;--cs-gap-lg:0.75rem;--navy:var(--color-primary);--blue:var(--color-secondary);--ink:var(--color-text);--ink-muted:var(--color-text-muted);--bg-card:var(--color-surface);--border:#e2e8f0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{min-height:100vh;color:var(--color-text);font-family:var(--font-main);font-size:var(--text-md);line-height:1.5}body.admin-crm-page,body.campus-crm-page,body.course-page.campus-crm-page{background:var(--color-bg);background-image:none}body.admin-crm-page::after,body.admin-crm-page::before,body.campus-crm-page::after,body.campus-crm-page::before,body.course-page.campus-crm-page::after,body.course-page.campus-crm-page::before{display:none}#campusCrmShell,.admin-crm-shell,.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;background:var(--color-bg)}.admin-crm-sidebar,.app-sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);padding:var(--space-3) var(--space-2);gap:var(--space-1);background:var(--color-surface);border-right:.5px solid var(--color-border);position:sticky;top:0;height:100vh;overflow-y:auto}.admin-crm-main,.app-main{display:flex;flex-direction:column;gap:var(--cs-gap);min-height:0;padding:var(--space-3) var(--space-4) var(--space-4)}.admin-crm-topbar,.app-header{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);min-height:var(--header-height)}.page-container{max-width:var(--content-max-width);margin-inline:auto;width:100%}.page-grid{display:grid;gap:var(--space-4)}.content-section{min-width:0}body.course-page.campus-crm-page .admin-crm-shell{grid-template-columns:minmax(240px,var(--sidebar-width-wide)) minmax(0,1fr)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:var(--cs-btn-h);padding:0 var(--space-4);font-family:var(--font-main);font-size:.78rem;font-weight:var(--font-semibold);line-height:1;border-radius:var(--radius-sm);border:.5px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.btn-secondary{background:var(--color-surface-soft);border-color:rgba(0,18,154,.15);color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-secondary);border-color:var(--color-secondary);color:#fff}.btn-outline,.btn-pill-outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-muted)}.btn-outline:hover:not(:disabled),.btn-pill-outline:hover:not(:disabled){background:var(--color-surface-soft);border-color:rgba(0,18,154,.2);color:var(--color-primary)}.btn-ghost{background:0 0;border-color:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:#f8fafc;color:var(--color-primary)}.btn-icon{width:var(--cs-btn-h);padding:0}.btn-sm{height:32px;padding:0 var(--space-3);font-size:.72rem}.btn-lg{height:42px;padding:0 var(--space-5);font-size:var(--text-sm)}.btn:disabled{opacity:.55;cursor:not-allowed}.card{background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none;padding:var(--space-3) var(--space-4)}.card-header{padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:.5px solid var(--color-border)}.card-body{padding:0}.card-footer{padding-top:var(--space-2);margin-top:var(--space-2);border-top:.5px solid var(--color-border)}.catalog-stat,.stat-card{background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.course-card,.course-hero,.info-card{background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.card:hover{transform:none;box-shadow:none;border-color:rgba(0,18,154,.15)}.admin-crm-nav,.nav-list{display:flex;flex-direction:column;gap:.15rem}.nav-item{list-style:none}.admin-crm-nav__link,.nav-link{display:flex;align-items:center;gap:.45rem;width:100%;padding:.42rem .5rem;border:0;border-radius:var(--radius-sm);background:0 0;font-size:.78rem;font-weight:var(--font-medium);color:var(--color-text-muted);text-decoration:none;cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.admin-crm-nav__link:hover,.nav-link:hover{background:#f8fafc;color:var(--color-text)}.admin-crm-nav__link.is-active,.nav-link.active{background:var(--color-surface-soft);color:var(--color-primary);font-weight:var(--font-semibold)}.tabs{display:flex;flex-wrap:wrap;gap:var(--space-1)}.catalog-chip,.tab-item{display:inline-flex;align-items:center;height:32px;padding:0 var(--space-3);font-size:.72rem;font-weight:var(--font-semibold);border-radius:var(--cs-radius-pill);border:.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.catalog-chip.is-active,.tab-item.active{background:var(--color-surface-soft);border-color:rgba(0,18,154,.2);color:var(--color-primary)}.form-group{margin-bottom:var(--space-3)}.form-label{display:block;margin-bottom:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.form-control,.form-select{width:100%;height:var(--cs-btn-h);padding:0 var(--space-3);font-size:var(--text-sm);font-family:var(--font-main);color:var(--color-text);background:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-control:focus,.form-select:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(100,145,227,.2);outline:0}.form-help{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.form-error{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-danger)}.badge,.badge-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .45rem;font-size:.62rem;font-weight:var(--font-semibold);border-radius:var(--cs-radius-pill);border:.5px solid var(--color-border);background:#f8fafc;color:var(--color-text-muted)}.badge-success{background:#ecfdf5;border-color:#86efac;color:var(--color-success)}.badge-warning{background:#fef3c7;border-color:#fcd34d;color:var(--color-warning)}.badge-danger{background:#fee2e2;border-color:#fca5a5;color:var(--color-danger)}.badge-info{background:var(--color-surface-soft);border-color:rgba(0,18,154,.15);color:var(--color-primary)}.status-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--color-success)}.cs-user-pill{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--cs-btn-h);padding:0 var(--space-3);border-radius:var(--cs-radius-pill);border:.5px solid var(--color-border);background:var(--color-surface);font-size:.74rem;font-weight:var(--font-semibold);color:var(--color-text)}.cs-user-pill__avatar{width:1.35rem;height:1.35rem;border-radius:50%;background:var(--color-surface-soft);color:var(--color-primary);display:grid;place-items:center;font-size:.75rem}.progress{height:6px;border-radius:var(--cs-radius-pill);background:#e2e8f0;overflow:hidden}.progress-bar{height:100%;background:var(--color-secondary);border-radius:var(--cs-radius-pill);transition:width var(--transition-base)}.progress-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-muted)}.course-progress,.course-progress-wrap{margin-bottom:var(--space-2)}.module-progress{margin-top:var(--space-1)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table td,.table th{padding:var(--space-2) var(--space-3);border-bottom:.5px solid var(--color-border);text-align:left}.table th{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-actions{display:flex;gap:var(--space-1);justify-content:flex-end}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) var(--space-4);border:.5px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.empty-state-icon{font-size:2rem;color:var(--color-text-muted);opacity:.6;margin-bottom:var(--space-3)}.empty-state-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-1)}.empty-state-text{font-size:var(--text-sm);color:var(--color-text-muted);max-width:28rem}.text-muted{color:var(--color-text-muted)!important}.text-primary{color:var(--color-primary)!important}.border-subtle{border:.5px solid var(--color-border)!important}.rounded-md{border-radius:var(--radius-md)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}@media (max-width:992px){#campusCrmShell,.admin-crm-shell,.app-shell{grid-template-columns:1fr}.admin-crm-sidebar,.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:1040;width:min(280px,88vw);transform:translateX(-105%);transition:transform .2s ease}#campusCrmShell.is-sidebar-open .admin-crm-sidebar,.admin-crm-shell.is-sidebar-open .admin-crm-sidebar,.app-shell.is-sidebar-open .app-sidebar{transform:translateX(0)}#campusCrmShell.is-sidebar-open::after,.admin-crm-shell.is-sidebar-open::after,.app-shell.is-sidebar-open::after{content:"";position:fixed;inset:0;background:rgba(12,22,111,.35);z-index:1035}body.course-page.campus-crm-page .admin-crm-sidebar{width:min(280px,88vw)}}@media (max-width:576px){.admin-crm-main,.app-main{padding:var(--space-2) var(--space-3) var(--space-4)}.admin-crm-topbar__actions{width:100%;justify-content:flex-end}}:root{--cat-accent:#00129A;--cat-accent-soft:#EBF1FC;--cat-accent-mid:#6491E3;--cat-teal-bg:#e1f5ee;--cat-teal-fg:#0f6e56;--cat-amber-bg:#fef3c7;--cat-amber-fg:#92400e;--cat-violet-bg:#ede9fe;--cat-violet-fg:#5b21b6;--cat-coral-bg:#fee2e2;--cat-coral-fg:#9f1239;--cat-border:rgba(0, 0, 0, 0.08)}.catalog-chips{flex:1 1 auto}.catalog-search{flex:1 1 140px;max-width:220px}.catalog-main{background:#fff;border:.5px solid var(--cat-border);border-radius:8px;padding:.65rem .75rem .75rem}.catalog-hint{font-size:.72rem;font-weight:600;color:#64748b;margin:0 0 .65rem}.catalog-cat-block{margin-bottom:.85rem}.catalog-cat-block:last-child{margin-bottom:0}.catalog-cat-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem;padding:0 .15rem}.catalog-cat-ico{width:1.65rem;height:1.65rem;border-radius:6px;display:grid;place-items:center;font-size:.85rem;flex-shrink:0}.catalog-cat-ico--compras{background:var(--cat-accent-soft);color:var(--cat-accent)}.catalog-cat-ico--operaciones{background:#f1f5f9;color:#475569}.catalog-cat-ico--precios_costos{background:var(--cat-amber-bg);color:var(--cat-amber-fg)}.catalog-cat-ico--tesoreria{background:var(--cat-teal-bg);color:var(--cat-teal-fg)}.catalog-cat-ico--direccion_adjunta{background:var(--cat-coral-bg);color:var(--cat-coral-fg)}.catalog-cat-ico--tecnologia{background:var(--cat-violet-bg);color:var(--cat-violet-fg)}.catalog-cat-ico--recursos_humanos{background:var(--cat-violet-bg);color:var(--cat-violet-fg)}.catalog-cat-ico--otros{background:#f1f5f9;color:#64748b}.catalog-cat-name{margin:0;font-size:.82rem;font-weight:800;color:#1e293b}.catalog-cat-count{margin:0;font-size:.68rem;font-weight:600;color:#94a3b8}.catalog-cat-rows{display:flex;flex-direction:column;gap:4px}.catalog-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:8px 10px;border:.5px solid var(--cat-border);border-radius:8px;background:#fff}.catalog-row--soon{opacity:.55}.catalog-row__status{width:1.5rem;height:1.5rem;display:grid;place-items:center;font-size:1rem;flex-shrink:0}.catalog-row__status--done{color:#16a34a}.catalog-row__status--progress{color:var(--cat-accent-mid)}.catalog-row__status--pending{color:#94a3b8}.catalog-row__body{min-width:0}.catalog-row__title{margin:0;font-size:.8rem;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-row__tags{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.15rem}.catalog-tag{font-size:.62rem;font-weight:700;padding:.1rem .4rem;border-radius:4px;white-space:nowrap}.catalog-tag--proc{background:#dcfce7;color:#15803d}.catalog-tag--pol{background:var(--cat-accent-soft);color:var(--cat-accent)}.catalog-tag--meta{background:0 0;color:#64748b;padding:0;font-weight:600}.catalog-row__actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.catalog-row__score{font-size:.68rem;font-weight:800;padding:.15rem .45rem;border-radius:999px;background:var(--cat-amber-bg);color:var(--cat-amber-fg)}.catalog-cta{font-size:.68rem;font-weight:700;padding:.28rem .65rem;border-radius:6px;border:.5px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;line-height:1.2}.catalog-cta--start{background:#fff;border-color:var(--cat-accent-mid);color:var(--cat-accent)}.catalog-cta--continue{background:var(--cat-accent);border-color:var(--cat-accent);color:#fff}.catalog-cta--review{background:0 0;border-color:var(--cat-border);color:#64748b}.catalog-cta:disabled{opacity:.5;cursor:not-allowed}.catalog-empty{text-align:center;padding:2rem 1rem;color:#64748b}.catalog-empty__ico{font-size:1.75rem;color:#94a3b8;margin-bottom:.5rem}.catalog-empty__title{font-size:.95rem;font-weight:800;color:#334155;margin:0 0 .25rem}.catalog-empty__desc{font-size:.78rem;margin:0}#dashContinueSection{display:none!important}@media (max-width:576px){.catalog-row{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto}.catalog-row__actions{grid-column:1/-1;justify-content:flex-end}}:root{--pf-accent:#00129A;--pf-accent-soft:#EBF1FC;--pf-accent-mid:#6491E3;--pf-border:rgba(0, 0, 0, 0.08);--pf-text:#0f172a;--pf-text-muted:#475569}body.profile-page .profile-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,248px);gap:.85rem;align-items:start}body.profile-page .profile-layout__main{display:flex;flex-direction:column;gap:.65rem;min-width:0}body.profile-page .profile-layout__aside{display:flex;flex-direction:column;gap:.65rem;min-width:0}body.profile-page .profile-panel{background:#fff;border:.5px solid var(--pf-border);border-radius:10px;padding:.75rem .9rem;box-shadow:none}body.profile-page .profile-error,body.profile-page .profile-loader{background:#fff;border:.5px solid var(--pf-border);border-radius:10px;padding:2rem 1rem;text-align:center}body.profile-page .profile-avance-panel__head{display:flex;align-items:center;gap:.6rem;margin-bottom:.55rem}body.profile-page .profile-avance-panel__ico{width:1.85rem;height:1.85rem;border-radius:8px;background:var(--pf-accent-soft);color:var(--pf-accent);font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}body.profile-page .profile-panel__title{margin:0;font-size:.9rem;font-weight:800;color:var(--pf-text)}body.profile-page .profile-panel__sub{margin:.1rem 0 0;font-size:.72rem;font-weight:600;color:var(--pf-text-muted)}body.profile-page .profile-panel__badge{margin-left:auto;flex-shrink:0;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;color:var(--pf-accent);background:var(--pf-accent-soft);border:.5px solid rgba(0,18,154,.12)}body.profile-page .profile-avance-panel .dash-progress-head{display:none}body.profile-page .dash-progress-bar{height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden}body.profile-page .dash-progress-fill{height:100%;border-radius:inherit;background:var(--pf-accent-mid);transition:width .3s ease}body.profile-page .pf-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}body.profile-page .pf-kpi{background:#fff;border:.5px solid var(--pf-border);border-radius:10px;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.15rem}body.profile-page .pf-kpi__label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--pf-text-muted)}body.profile-page .pf-kpi__value-row{display:flex;align-items:baseline;gap:.1rem}body.profile-page .pf-kpi__value{font-size:1.2rem;font-weight:800;color:var(--pf-text);line-height:1.1}body.profile-page .pf-kpi__value-meta{font-size:.78rem;font-weight:700;color:#94a3b8}body.profile-page .profile-panel__head{margin-bottom:.55rem}body.profile-page .profile-panel__head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-wrap:wrap}body.profile-page #profileCoursesHint{display:none}body.profile-page .pf-course-filters{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin-bottom:.55rem;padding-bottom:.55rem;border-bottom:.5px solid var(--pf-border)}body.profile-page .pf-chip{display:inline-flex;align-items:center;padding:.22rem .6rem;border-radius:999px;border:.5px solid var(--pf-border);background:#fff;font-size:.68rem;font-weight:700;color:var(--pf-text-muted);text-decoration:none;transition:border-color .12s,color .12s,background .12s}body.profile-page .pf-chip:hover{border-color:var(--pf-accent-mid);color:var(--pf-accent);background:var(--pf-accent-soft)}body.profile-page .pf-chip.is-active{border-color:var(--pf-accent);color:var(--pf-accent);background:var(--pf-accent-soft)}body.profile-page .pf-sort-btn{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:1.65rem;padding:0 .45rem;border-radius:6px;border:.5px solid var(--pf-border);background:#f8fafc;font-size:.65rem;font-weight:800;color:#94a3b8;cursor:not-allowed;opacity:.7}body.profile-page .profile-course-strip{display:flex;flex-direction:column;gap:5px}body.profile-page .profile-course-card{display:grid;grid-template-columns:1.1rem minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:.55rem;row-gap:.06rem;min-height:0;padding:9px 11px;border-radius:8px;border:.5px solid var(--pf-border);background:#fff!important;color:var(--pf-text)!important;box-shadow:none!important;text-decoration:none;transition:border-color .12s,background .12s}body.profile-page .profile-course-card::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;grid-column:1;grid-row:1/3;align-self:center;font-size:.88rem;color:#16a34a;line-height:1}body.profile-page .profile-course-card--a,body.profile-page .profile-course-card--b,body.profile-page .profile-course-card--c{background:#fff!important}body.profile-page .profile-course-card:hover{transform:none;border-color:rgba(0,18,154,.22);background:var(--pf-accent-soft)!important}body.profile-page .profile-course-card__tag{grid-column:2;grid-row:2;justify-self:start;font-size:.6rem;font-weight:700;letter-spacing:.02em;color:#64748b;background:0 0;padding:0;border-radius:0;opacity:1}body.profile-page .profile-course-card__title{grid-column:2;grid-row:1;margin:0;font-size:.8rem;font-weight:700;color:var(--pf-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.profile-page .profile-course-card__meta{display:none}body.profile-page .profile-course-card__bar{display:none}body.profile-page .profile-course-card__score{grid-column:3;grid-row:1;align-self:start;justify-self:end;padding:.1rem .4rem;border-radius:999px;font-size:.62rem;font-weight:800;color:#92400e;background:#fef3c7;border:none;line-height:1.4}body.profile-page .profile-course-card::after{content:"Ver certificado";grid-column:3;grid-row:2;align-self:end;justify-self:end;font-size:.65rem;font-weight:700;padding:.22rem .55rem;border-radius:6px;border:.5px solid var(--pf-border);background:#f8fafc;color:var(--pf-text-muted);white-space:nowrap;line-height:1.3}body.profile-page .profile-course-card:hover::after{border-color:var(--pf-accent-mid);color:var(--pf-accent);background:#fff}body.profile-page .profile-empty{text-align:center;padding:1.25rem 1rem;border:.5px dashed var(--pf-border);border-radius:8px;background:#f8fafc}body.profile-page .profile-empty-icon{font-size:1.35rem;color:#94a3b8;margin-bottom:.3rem}body.profile-page .profile-empty-title{font-size:.85rem;font-weight:800;color:var(--pf-text);margin:0 0 .15rem}body.profile-page .profile-empty-text{font-size:.72rem;color:var(--pf-text-muted);margin:0}body.profile-page .profile-user-card{padding:.75rem .85rem;border:.5px solid var(--pf-border);border-radius:10px;box-shadow:none;text-align:left;display:flex;align-items:center;gap:.65rem;background:#fff}body.profile-page .profile-user-card__header{display:none}body.profile-page .profile-user-card__avatar{width:2.5rem;height:2.5rem;margin:0;border-radius:8px;font-size:.82rem;font-weight:800;color:var(--pf-accent);background:var(--pf-accent-soft);border:.5px solid rgba(0,18,154,.12);box-shadow:none;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}body.profile-page .profile-user-card__body{min-width:0;flex:1}body.profile-page .profile-user-card__name{margin:0;font-size:.88rem;font-weight:800;color:var(--pf-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.profile-page .profile-user-card__email{margin:.08rem 0 0;font-size:.68rem;font-weight:600;color:var(--pf-text-muted);word-break:break-all}body.profile-page .profile-user-card__stats{display:none}body.profile-page #profileCatalogHint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.profile-page .profile-last-chip{margin:0;padding:.5rem .6rem;border-radius:8px;border:.5px solid var(--pf-border);background:#f8fafc;text-align:left}body.profile-page .profile-last-chip__label{display:block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--pf-text-muted);margin-bottom:.18rem}body.profile-page .profile-last-chip__text{display:block;font-size:.76rem;font-weight:700;color:var(--pf-text);line-height:1.35}body.profile-page .profile-last-chip__date{display:block;font-size:.66rem;font-weight:600;color:var(--pf-text-muted);margin-top:.08rem}body.profile-page #campusCrmSubtitle,body.profile-page #profileAvanceGreeting,body.profile-page #profileProgressFoot{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:992px){body.profile-page .profile-layout{grid-template-columns:1fr}body.profile-page .profile-layout__aside{order:-1}body.profile-page .pf-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}body.profile-page .admin-crm-topbar__tools{max-width:100%;flex:1 1 100%;order:3}}@media (max-width:576px){body.profile-page .pf-kpi-row{grid-template-columns:1fr 1fr}body.profile-page .profile-course-card{grid-template-columns:1.1rem minmax(0,1fr);grid-template-rows:auto auto auto}body.profile-page .profile-course-card__score{grid-column:2;grid-row:3;justify-self:start}body.profile-page .profile-course-card::after{grid-column:1/-1;grid-row:4;justify-self:stretch;text-align:center;margin-top:.15rem}body.profile-page .pf-course-filters{gap:.28rem}body.profile-page .pf-sort-btn{margin-left:0}}:root{--doc-accent:#00129A;--doc-accent-soft:#EBF1FC;--doc-accent-mid:#6491E3;--doc-border:rgba(0, 0, 0, 0.08);--doc-text:#0f172a;--doc-text-muted:#475569}body.portal-page #portalIntro,body.portal-page #repoSectionTitle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.portal-page .admin-crm-topbar__tools,body.portal-page .admin-crm-topbar__user{display:none}body.portal-page .portal-search-hint{margin:0;padding:.25rem .1rem 0;font-size:.68rem;font-weight:700;color:var(--doc-accent)}body.portal-page .doc-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap;padding:.55rem .65rem;background:#fff;border:.5px solid var(--doc-border);border-radius:10px}body.portal-page .doc-filter-chips{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;flex:1 1 auto;min-width:0}body.portal-page .portal-metrics{display:contents}body.portal-page .portal-metric-btn{display:inline-flex;align-items:center;gap:.2rem;padding:.24rem .6rem;border-radius:999px;border:.5px solid var(--doc-border);background:#fff;font-size:.68rem;font-weight:700;color:var(--doc-text-muted);cursor:pointer;transition:border-color .12s,color .12s,background .12s;transform:none;box-shadow:none;outline:0}body.portal-page .portal-metric-btn:hover{border-color:var(--doc-accent-mid);color:var(--doc-accent);background:var(--doc-accent-soft);transform:none;box-shadow:none}body.portal-page .portal-metric-btn.is-active{border-color:var(--doc-accent);color:var(--doc-accent);background:var(--doc-accent-soft);outline:0}body.portal-page .portal-metric-btn .admin-crm-metric__label{font-size:inherit;font-weight:inherit;color:inherit;text-transform:none;letter-spacing:0}body.portal-page .portal-metric-btn .admin-crm-metric__label::after{content:" ·";opacity:.65}body.portal-page .portal-metric-btn .admin-crm-metric__value{font-size:inherit;font-weight:inherit;color:inherit;line-height:1}body.portal-page .portal-metric-btn .admin-crm-metric__ico{display:none}body.portal-page .doc-filter-tools{display:flex;align-items:center;gap:.4rem;flex-shrink:0}body.portal-page .portal-area-select{border:.5px solid var(--doc-border);background:#fff;border-radius:8px;padding:.28rem .55rem;font-size:.72rem;font-weight:700;color:var(--doc-text);max-width:9.5rem;min-width:7rem}body.portal-page .doc-filter-tools .campus-crm-search{max-width:200px;min-width:150px;border:.5px solid var(--doc-border);border-radius:8px;background:#fff;box-shadow:none}body.portal-page .doc-filter-tools .campus-crm-search input{font-size:.72rem}body.portal-page .portal-content-card{background:#fff;border:.5px solid var(--doc-border);border-radius:10px;box-shadow:none;padding:0;overflow:hidden;flex:0 1 auto}body.portal-page .portal-content-card .repo-list-wrap{flex:none;overflow:auto;padding:0 .65rem;min-height:0;max-height:calc(100vh - 14rem)}body.portal-page .repo-list-head{display:grid;grid-template-columns:minmax(0,1fr) 5.75rem 5.25rem auto;gap:.45rem;padding:.45rem .4rem;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--doc-text-muted);border-bottom:.5px solid var(--doc-border);background:#f8fafc}body.portal-page .repo-list{display:flex;flex-direction:column}body.portal-page .repo-row{display:grid;grid-template-columns:minmax(0,1fr) 5.75rem 5.25rem auto;gap:.45rem;align-items:center;padding:.4rem .4rem;border-bottom:.5px solid var(--doc-border);font-size:.76rem}body.portal-page .repo-row:hover{background:var(--doc-accent-soft)}body.portal-page .repo-row-icon{width:1.55rem;height:1.55rem;border-radius:6px;font-size:.78rem}body.portal-page .repo-row-icon--proc{background:var(--doc-accent-soft);color:var(--doc-accent)}body.portal-page .repo-row-icon--pol{background:#dcfce7;color:#15803d}body.portal-page .repo-row-icon--info{background:#ede9fe;color:#6d28d9}body.portal-page .repo-row-title{font-weight:700;color:var(--doc-text);font-size:.78rem}body.portal-page .repo-row-meta{font-size:.65rem;color:var(--doc-text-muted)}body.portal-page .repo-col-area,body.portal-page .repo-col-type{display:inline-flex;align-self:center;justify-self:start;max-width:100%;padding:.1rem .38rem;border-radius:999px;border:.5px solid var(--doc-border);background:#f8fafc;font-size:.62rem;font-weight:700;color:var(--doc-text-muted)}body.portal-page .repo-col-type{background:var(--doc-accent-soft);border-color:rgba(0,18,154,.12);color:var(--doc-accent)}body.portal-page .repo-col-actions{display:flex;align-items:center;gap:.35rem;justify-content:flex-end;flex-wrap:nowrap;flex-shrink:0}body.portal-page .repo-action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;min-width:2rem;padding:0;border-radius:8px;border:1px solid var(--doc-border);background:#fff;color:var(--doc-text-muted);text-decoration:none;line-height:1;transition:border-color 150ms ease,color 150ms ease,background 150ms ease}body.portal-page .repo-action-btn .fa-solid{font-size:.9375rem;pointer-events:none}body.portal-page .repo-action-btn--primary{background:var(--doc-accent);border-color:var(--doc-accent);color:#fff}body.portal-page .repo-action-btn--primary:hover{background:#000e7a;border-color:#000e7a;color:#fff}body.portal-page a.repo-action-btn:not(.repo-action-btn--danger):hover{border-color:var(--doc-accent-mid);color:var(--doc-accent);background:var(--doc-accent-soft)}body.portal-page .repo-action-btn--danger{color:#dc2626;border-color:#fecaca}body.portal-page .repo-action-btn--danger:hover{background:#fef2f2;border-color:#f87171;color:#b91c1c}body.portal-page .repo-empty{text-align:center;padding:1.75rem 1rem;color:var(--doc-text-muted)}body.portal-page .repo-empty i{font-size:1.5rem;color:#94a3b8;margin-bottom:.4rem}body.portal-page .repo-empty-title{margin:0 0 .2rem;font-size:.88rem;font-weight:800;color:var(--doc-text)}body.portal-page .repo-empty-text{margin:0;font-size:.72rem;color:var(--doc-text-muted)}body.portal-page .repo-foot{display:flex;justify-content:space-between;align-items:center;padding:.45rem .65rem;border-top:.5px solid var(--doc-border);font-size:.65rem;color:var(--doc-text-muted);background:#f8fafc;border-radius:0}body.portal-page #repoResultCount{font-size:.62rem;font-weight:600;color:#94a3b8}@media (max-width:992px){body.portal-page .portal-content-card .repo-list-wrap{max-height:none}body.portal-page .doc-filter-bar{flex-direction:column;align-items:stretch}body.portal-page .doc-filter-tools{width:100%}body.portal-page .doc-filter-tools .campus-crm-search,body.portal-page .portal-area-select{flex:1;max-width:none}}@media (max-width:767.98px){body.portal-page .repo-list-head{display:none}body.portal-page .repo-row{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:.3rem;padding:.55rem .35rem}body.portal-page .repo-col-doc{grid-column:1;grid-row:1}body.portal-page .repo-col-area{grid-column:1;grid-row:2;justify-self:start}body.portal-page .repo-col-type{grid-column:1;grid-row:3;justify-self:start}body.portal-page .repo-col-actions{grid-column:1;grid-row:4;justify-content:flex-start;padding-top:.15rem}body.portal-page .doc-filter-chips{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}body.portal-page .doc-filter-chips::-webkit-scrollbar{display:none}body.portal-page .doc-user-pill{max-width:120px}}:root{--rk-accent:#00129A;--rk-accent-soft:#EBF1FC;--rk-accent-mid:#6491E3;--rk-border:rgba(0, 0, 0, 0.08);--rk-text:#0f172a;--rk-text-muted:#475569}body.ranking-page .ranking-page-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:0}body.ranking-page .admin-crm-metric{background:#fff;border:.5px solid var(--rk-border);border-radius:10px;padding:.55rem .65rem;box-shadow:none;display:flex;flex-direction:column;gap:.12rem;position:relative;min-height:0}body.ranking-page .admin-crm-metric--d{display:none}body.ranking-page .admin-crm-metric__label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--rk-text-muted)}body.ranking-page .admin-crm-metric__value{font-size:1.2rem;font-weight:800;color:var(--rk-text);line-height:1.1}body.ranking-page .admin-crm-metric__ico{display:none}body.ranking-page .admin-crm-metric--c .admin-crm-metric__value{color:var(--rk-accent)}body.ranking-page .rank-me-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}body.ranking-page .rank-me-stat{background:#f8fafc;border:.5px solid var(--rk-border);border-radius:8px;padding:.45rem .5rem;display:flex;flex-direction:column;gap:.08rem}body.ranking-page .rank-me-stat span{font-size:.58rem;color:var(--rk-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}body.ranking-page .rank-me-stat strong{font-size:1rem;font-weight:800;color:var(--rk-text)}body.ranking-page .rank-compare-row{display:grid;grid-template-columns:6.5rem 1fr 2.25rem;align-items:center;gap:.45rem}body.ranking-page .rank-compare-label{font-size:.68rem;color:var(--rk-text-muted);font-weight:700}body.ranking-page .rank-compare-track{height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}body.ranking-page .rank-compare-fill{display:block;height:100%;border-radius:inherit;background:var(--rk-accent-mid)!important}body.ranking-page .rank-compare-row:nth-child(3) .rank-compare-fill{background:#16a34a!important}body.ranking-page .rank-compare-val{font-size:.78rem;font-weight:800;color:var(--rk-text);text-align:right}body.ranking-page .rank-legend-dot{width:.5rem;height:.5rem}body.ranking-page .ranking-panel__head{display:none}body.ranking-page .ranking-panel__table{padding:0}body.ranking-page .ranking-table{width:100%;border-collapse:collapse;font-size:.76rem}body.ranking-page .ranking-table thead{position:sticky;top:0;z-index:1}body.ranking-page .ranking-table th{padding:.35rem .5rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--rk-text-muted);background:#f8fafc;border-bottom:.5px solid var(--rk-border)}body.ranking-page .ranking-table th.th-num{width:2.25rem;text-align:center}body.ranking-page .ranking-table th.th-value{text-align:right}body.ranking-page .ranking-table td{padding:.35rem .5rem;border-bottom:.5px solid var(--rk-border);vertical-align:middle}body.ranking-page .ranking-table tbody tr{background:#fff}body.ranking-page .ranking-table tbody tr:nth-child(even){background:#fafbfc}body.ranking-page .ranking-table tbody tr.rank-1,body.ranking-page .ranking-table tbody tr.rank-2,body.ranking-page .ranking-table tbody tr.rank-3{background:#fffbeb}body.ranking-page .ranking-table tbody tr.is-me{background:var(--rk-accent-soft)!important;outline:1px solid rgba(0,18,154,.15);outline-offset:-1px}body.ranking-page .ranking-table .ranking-medal{font-size:.95rem}body.ranking-page .ranking-table .ranking-medal.medal-1{color:#ca8a04}body.ranking-page .ranking-table .ranking-medal.medal-2{color:#64748b}body.ranking-page .ranking-table .ranking-medal.medal-3{color:#b45309}body.ranking-page .ranking-table .ranking-num{font-size:.72rem;font-weight:800;color:var(--rk-text-muted)}body.ranking-page .ranking-table .ranking-name{font-weight:700;color:var(--rk-text);max-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.ranking-page .ranking-table .ranking-value{font-weight:800;color:var(--rk-accent);text-align:right;font-size:.76rem}body.ranking-page .ranking-table .rank-me-tag{font-size:.58rem;font-weight:800;padding:.06rem .35rem;border-radius:999px;background:var(--rk-accent);color:#fff;margin-left:.25rem;vertical-align:middle}@media (max-width:992px){body.ranking-page .ranking-page-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}body.ranking-page .ranking-page-metrics .admin-crm-metric--c{grid-column:1/-1}body.ranking-page .rank-me-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:576px){body.ranking-page .ranking-page-metrics{grid-template-columns:1fr 1fr}body.ranking-page .rank-compare-row{grid-template-columns:1fr;gap:.2rem}body.ranking-page .rank-compare-val{text-align:left}}:root{--cv-accent:#00129A;--cv-accent-soft:#EBF1FC;--cv-accent-mid:#6491E3;--cv-border:rgba(0, 0, 0, 0.08);--cv-text:#0f172a;--cv-text-muted:#475569}body.course-page .course-header-badges{margin-bottom:.45rem;gap:.4rem}body.course-page .content-header-pill{font-size:.62rem;padding:.18rem .55rem;background:var(--cv-accent-soft);border:.5px solid rgba(0,18,154,.15);color:var(--cv-accent);box-shadow:none}body.course-page .course-code-pill{font-size:.62rem;padding:.18rem .55rem;background:#f8fafc;color:var(--cv-text-muted);border:.5px solid var(--cv-border);letter-spacing:.06em}body.course-page .course-title-main{font-size:clamp(1.05rem,2vw,1.35rem);font-weight:800;color:var(--cv-text);margin-bottom:.35rem}body.course-page .meta-chip-row{margin-top:0;gap:.35rem}body.course-page .chip-pill{padding:.2rem .55rem;font-size:.68rem;font-weight:700;border-radius:999px;border:.5px solid var(--cv-border);background:#f8fafc;color:var(--cv-text-muted);box-shadow:none}body.course-page .chip-duration{background:var(--cv-accent-soft);border-color:rgba(0,18,154,.12);color:var(--cv-accent)}body.course-page .course-audience-block{margin-top:.55rem;padding:.45rem .6rem;border-radius:8px;background:#f8fafc;border:.5px solid var(--cv-border);gap:.5rem}body.course-page .course-info-icon{width:1.5rem;height:1.5rem;font-size:.78rem;border-radius:6px;background:var(--cv-accent-soft);color:var(--cv-accent)}body.course-page .course-info-label{font-size:.58rem;color:var(--cv-text-muted)}body.course-page .course-audience-text{font-size:.72rem;color:var(--cv-text);line-height:1.4}body.course-page #finalScorePanel{background:#ecfdf5;border:.5px solid #86efac;border-radius:8px;padding:.55rem .75rem!important;margin-bottom:.55rem!important}body.course-page #finalScorePanel::before{display:none}body.course-page #finalScoreDetail,body.course-page #finalScoreText{font-size:.72rem!important;color:var(--cv-text-muted)!important}body.course-page .badge-chip{font-size:.62rem;font-weight:700;padding:.12rem .45rem;border-radius:999px;background:#f8fafc;border:.5px solid var(--cv-border);color:var(--cv-text-muted)}body.course-page #courseProgressLabel{clip:rect(0,0,0,0);position:absolute}body.course-page .module-button{font-size:.68rem;padding:.35rem .42rem;margin-bottom:.22rem;border-radius:8px;border:.5px solid var(--cv-border);background:#fff;gap:.35rem;transform:none!important;box-shadow:none!important;width:100%;text-align:left}body.course-page .module-button .module-index{width:1.25rem;height:1.25rem;font-size:.58rem;border-radius:6px;background:#f1f5f9;border:.5px solid var(--cv-border);color:var(--cv-text-muted);flex-shrink:0}body.course-page .module-button span.flex-grow-1{overflow:visible;text-overflow:unset;white-space:normal;word-break:break-word}body.course-page .module-button.active{background:var(--cv-accent-soft);border-color:rgba(0,18,154,.25);color:var(--cv-accent)}body.course-page .module-button.active .module-index{background:var(--cv-accent);color:#fff;border-color:var(--cv-accent)}body.course-page .module-button.completed .module-index{background:#ecfdf5;border-color:#86efac;color:#15803d}body.course-page .module-button.locked{opacity:.55;background:#f8fafc}body.course-page .module-button:not(.locked):hover{background:var(--cv-accent-soft);border-color:rgba(0,18,154,.2);color:var(--cv-accent)}body.course-page .course-topic-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.45rem;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:.5px solid var(--cv-border)}body.course-page .course-topic-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cv-text-muted)}body.course-page #currentModuleTitle{font-size:1rem;font-weight:800;color:var(--cv-text);line-height:1.25}body.course-page #moduleContentWrapper .content-section{font-size:.88rem;line-height:1.6;color:var(--cv-text)}body.course-page #quizPanel{margin-top:1rem;padding:.75rem .85rem!important;border-radius:8px!important;border:.5px solid var(--cv-border)!important;background:#f8fafc}body.course-page .quiz-panel-head i{font-size:.9rem;color:var(--cv-accent)}body.course-page .quiz-panel-head span{font-size:.68rem;font-weight:800;text-transform:uppercase;color:var(--cv-text)}body.course-page #quizOptions .form-check{padding:.45rem .55rem;margin-bottom:.35rem;border-radius:8px;border:.5px solid var(--cv-border);background:#fff}body.course-page #quizOptions .form-check:hover{border-color:var(--cv-accent-mid);background:var(--cv-accent-soft)}body.course-page #quizSubmitBtn{height:34px;padding:0 .85rem;font-size:.72rem;font-weight:700;border-radius:8px;border:.5px solid rgba(0,18,154,.22);background:#fff;color:var(--cv-accent)}body.course-page #quizFeedback .alert{padding:.4rem .6rem;font-size:.72rem}body.course-page .course-nav-footer{margin-top:1rem;padding-top:.65rem;border-top:.5px solid var(--cv-border)}body.course-page #prevModuleBtn{height:36px;padding:0 .85rem;font-size:.74rem;font-weight:700;border-radius:8px;border:.5px solid var(--cv-border);background:#fff;color:var(--cv-text-muted)}body.course-page #finalQuizPanel{padding:.75rem .85rem!important;border:.5px solid var(--cv-border)!important;background:#f8fafc;border-radius:8px!important}body.course-page #finalCompletionPage .completion-card{padding:1.5rem 1rem!important}body.course-page #finalCompletionPage .completion-card::after,body.course-page #finalCompletionPage .completion-card::before{display:none}body.course-page .quiz-panel-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.45rem}body.course-page .course-topic-label{display:block;margin-bottom:.12rem}body.course-page .quiz-help-text{font-size:.65rem;color:var(--cv-text-muted);margin-top:.45rem;margin-bottom:0}body.course-page .final-quiz-title{font-size:.82rem!important;text-transform:none!important}body.course-page #quizQuestion{font-size:.84rem;font-weight:700;color:var(--cv-text)}body.course-page #quizOptions .form-check-label{font-size:.8rem;font-weight:600;cursor:pointer}body.course-page #finalScorePanel .badge{font-size:.62rem;font-weight:700}body.course-page #finalQuizPanel .progress{height:6px}body.course-page #finalQuizNextBtn,body.course-page #finalQuizPrevBtn{height:34px;font-size:.72rem;font-weight:700;border-radius:8px}@media (max-width:575.98px){body.course-page .course-nav-footer{flex-direction:column;align-items:stretch!important}body.course-page #prevModuleBtn{width:100%;justify-content:center}}body.admin-crm-page,body.campus-crm-page{background:var(--cs-bg);background-image:none}body.admin-crm-page .topbar,body.campus-crm-page .topbar{display:none}body.admin-crm-page main.admin-crm-wrap,body.campus-crm-page main.admin-crm-wrap{padding:0;max-width:none}body.admin-crm-page .site-footer,body.campus-crm-page .site-footer{display:none}.admin-crm-page .admin-crm-shell,.campus-crm-page .admin-crm-shell{display:grid;grid-template-columns:var(--cs-sidebar-w) minmax(0,1fr);min-height:100vh;background:var(--cs-bg)}.admin-crm-page .admin-crm-sidebar,.campus-crm-page .admin-crm-sidebar{display:flex;flex-direction:column;width:var(--cs-sidebar-w);padding:.85rem .65rem;gap:.35rem;background:var(--cs-bg-card);border-right:.5px solid var(--cs-border);box-shadow:none;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-crm-page .admin-crm-sidebar__brand,.campus-crm-page .admin-crm-sidebar__brand{display:flex;align-items:center;gap:.55rem;padding:.25rem .35rem .75rem;margin-bottom:.35rem;border-bottom:.5px solid var(--cs-border)}.admin-crm-page .admin-crm-sidebar__brand:has(.campus-crm-brand-img),.campus-crm-page .admin-crm-sidebar__brand:has(.campus-crm-brand-img){flex-direction:row;align-items:center;text-align:left;gap:.625rem;padding:.5rem .5rem .875rem}.admin-crm-page .admin-crm-sidebar__brand:has(.campus-crm-brand-img)>div,.campus-crm-page .admin-crm-sidebar__brand:has(.campus-crm-brand-img)>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:auto;flex:1 1 auto;min-width:0}.campus-crm-brand-img{width:4.75rem;height:auto;max-width:4.75rem;object-fit:contain;margin:0}.admin-crm-page .admin-crm-sidebar__logo{width:2rem;height:2rem;border-radius:var(--cs-radius-sm);background:var(--cs-accent-soft);color:var(--cs-accent);display:grid;place-items:center;font-size:1rem}.admin-crm-page .admin-crm-sidebar__title,.campus-crm-page .admin-crm-sidebar__title{display:block;font-size:.82rem;font-weight:800;color:var(--cs-text);line-height:1.2}.admin-crm-page .admin-crm-sidebar__sub,.campus-crm-page .admin-crm-sidebar__sub{display:block;font-size:.65rem;font-weight:600;color:var(--cs-text-muted)}.admin-crm-page .admin-crm-nav,.campus-crm-page .admin-crm-nav{display:flex;flex-direction:column;gap:.15rem}.admin-crm-page .admin-crm-nav__group,.campus-crm-page .admin-crm-nav__group{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--cs-text-light);padding:.5rem .5rem .2rem}.admin-crm-page .admin-crm-nav__group:first-child,.campus-crm-page .admin-crm-nav__group:first-child{padding-top:.15rem}.admin-crm-page .admin-crm-nav__link,.campus-crm-page .admin-crm-nav__link{display:flex;align-items:center;gap:.45rem;width:100%;padding:.42rem .5rem;border:0;border-radius:var(--cs-radius-sm);background:0 0;font-size:.78rem;font-weight:600;color:var(--cs-text-muted);text-decoration:none;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.admin-crm-page .admin-crm-nav__link i,.campus-crm-page .admin-crm-nav__link i{font-size:.88rem;opacity:.85;flex-shrink:0}.admin-crm-page .admin-crm-nav__link:hover,.campus-crm-page .admin-crm-nav__link:hover{background:#f8fafc;color:var(--cs-text)}.admin-crm-page .admin-crm-nav__link.is-active,.campus-crm-page .admin-crm-nav__link.is-active{background:var(--cs-accent-soft);color:var(--cs-accent);font-weight:700}.admin-crm-page .admin-crm-sidebar__foot,.campus-crm-page .admin-crm-sidebar__foot{margin-top:auto;padding-top:.65rem;border-top:.5px solid var(--cs-border);display:flex;flex-direction:column;gap:.25rem}.admin-crm-page .admin-crm-back,.campus-crm-page .admin-crm-back{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;font-size:.72rem;font-weight:700;color:var(--cs-text-muted);text-decoration:none;background:0 0;border:0;cursor:pointer;width:100%;justify-content:flex-start}.admin-crm-page .admin-crm-back:hover,.campus-crm-page .admin-crm-back:hover{color:var(--cs-accent)}.admin-crm-page .admin-crm-main,.campus-crm-page .admin-crm-main{display:flex;flex-direction:column;min-width:0;padding:.85rem 1.1rem 1.25rem;overflow-y:auto;max-height:100vh;gap:var(--cs-gap)}.admin-crm-page .admin-crm-topbar,.campus-crm-page .admin-crm-topbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--cs-gap);padding:0;margin-bottom:.15rem;background:0 0;border:0;box-shadow:none}.admin-crm-page .admin-crm-topbar__text,.campus-crm-page .admin-crm-topbar__text{flex:1;min-width:0}.admin-crm-page .admin-crm-topbar__title,.campus-crm-page .admin-crm-topbar__title{margin:0;font-size:1.25rem;font-weight:800;color:var(--cs-text);letter-spacing:-.01em;line-height:1.2}.admin-crm-page .admin-crm-topbar__sub,.campus-crm-page .admin-crm-topbar__sub{margin:.1rem 0 0;font-size:.76rem;font-weight:600;color:var(--cs-text-muted)}.admin-crm-page .admin-crm-topbar__actions,.campus-crm-page .admin-crm-topbar__actions,.campus-crm-page .admin-crm-topbar__tools,.doc-header-actions,.pf-header-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-left:auto;flex-shrink:0}.admin-crm-page .admin-crm-menu-btn,.campus-crm-page .admin-crm-menu-btn{border:.5px solid var(--cs-border);background:var(--cs-bg-card);border-radius:var(--cs-radius-sm);width:2.25rem;height:2.25rem;display:grid;place-items:center;color:var(--cs-text);flex-shrink:0}.campus-crm-page .admin-crm-topbar__user{display:none!important}.admin-crm-user-pill,.cs-user-pill,.doc-user-pill,.pf-user-pill{display:inline-flex;align-items:center;gap:.4rem;height:var(--cs-btn-h);padding:0 .75rem 0 .45rem;border-radius:var(--cs-radius-pill);border:.5px solid var(--cs-border);background:var(--cs-bg-card);font-size:.76rem;font-weight:700;color:var(--cs-text);max-width:180px}.admin-crm-user-pill__avatar,.cs-user-pill__avatar,.doc-user-pill>i,.pf-user-pill>i{width:1.5rem;height:1.5rem;border-radius:50%;background:var(--cs-accent-soft);color:var(--cs-accent);display:grid;place-items:center;font-size:.75rem;flex-shrink:0}.doc-user-pill>i,.pf-user-pill>i{width:auto;height:auto;background:0 0;font-size:.88rem}.admin-crm-user-pill__name,.cs-user-pill__name,.doc-user-pill .user-name,.pf-user-pill .user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.admin-crm-metrics,.catalog-stats,.ranking-page-metrics{display:grid;gap:var(--cs-gap);margin-bottom:0}.catalog-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-crm-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.ranking-page-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-crm-metric,.catalog-stat{position:relative;background:var(--cs-bg-card);border:.5px solid var(--cs-border);border-radius:var(--cs-radius);box-shadow:none;color:var(--cs-text);min-height:72px;padding:var(--cs-card-pad);text-align:left;cursor:default;overflow:hidden;transition:border-color .15s ease,background .15s ease}button.admin-crm-metric{cursor:pointer;border:.5px solid var(--cs-border)}button.admin-crm-metric:hover{transform:none;border-color:rgba(0,18,154,.18);background:#fafbfc}.admin-crm-metric--a{background:var(--cs-accent);border-color:var(--cs-accent);color:#fff}.admin-crm-metric__label,.catalog-stat__label{display:block;font-size:.68rem;font-weight:700;color:var(--cs-text-muted);margin-bottom:.25rem;text-transform:none;letter-spacing:0}.admin-crm-metric--a .admin-crm-metric__label{color:rgba(255,255,255,.88)}.admin-crm-metric__value,.catalog-stat__value{display:block;font-size:1.45rem;font-weight:800;line-height:1.1;color:var(--cs-text)}.admin-crm-metric--a .admin-crm-metric__value{color:#fff}.catalog-stat__value small{font-size:.72rem;font-weight:600;opacity:.85}.admin-crm-metric__ico{position:absolute;right:.6rem;bottom:.55rem;font-size:1.15rem;opacity:.22;color:var(--cs-accent-mid)}.admin-crm-metric--a .admin-crm-metric__ico{color:rgba(255,255,255,.35)}.admin-crm-metric--b,.admin-crm-metric--c,.admin-crm-metric--d{background:var(--cs-bg-card);box-shadow:none}.admin-crm-metric.is-kpi-active{box-shadow:0 0 0 2px var(--cs-accent-mid)}.catalog-stat__progress{display:flex;align-items:center;gap:.45rem;margin-top:.2rem}.catalog-stat__bar{flex:1;height:5px;border-radius:var(--cs-radius-pill);background:#e2e8f0;overflow:hidden}.catalog-stat__bar span{display:block;height:100%;border-radius:inherit;background:var(--cs-accent-mid);transition:width .3s ease}.catalog-stat__pct{font-size:.82rem;font-weight:800;color:var(--cs-accent);min-width:2rem;text-align:right}#menuPublishBtn,#rankingPageRefresh,#sidebarDownloadExcel,.admin-crm-page #logoutBtnCrm,.cs-btn,.doc-header-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:var(--cs-btn-h);padding:0 .85rem;font-size:.76rem;font-weight:700;border-radius:var(--cs-radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}#sidebarDownloadExcel{border:1px solid rgba(25,135,84,.35);background:var(--cs-bg-card);color:var(--cs-green)}#sidebarDownloadExcel:hover{background:var(--cs-green-soft)}#rankingPageRefresh,.cs-btn--outline{border:.5px solid rgba(0,18,154,.22);background:var(--cs-bg-card);color:var(--cs-accent)}#rankingPageRefresh:hover,.cs-btn--outline:hover{background:var(--cs-accent-soft);border-color:var(--cs-accent-mid)}#menuPublishBtn,.cs-btn--primary-sm{border:1px solid var(--cs-accent);background:var(--cs-accent);color:#fff}#menuPublishBtn:hover,.cs-btn--primary-sm:hover{background:#000e7a;border-color:#000e7a}.campus-crm-search,.catalog-search{display:flex;align-items:center;gap:.45rem;border:.5px solid var(--cs-border);background:var(--cs-bg-card);border-radius:var(--cs-radius-pill);padding:.35rem .75rem;box-shadow:none}.campus-crm-search{flex:1 1 160px;max-width:260px}.campus-crm-search i,.catalog-search i{color:var(--cs-text-light);font-size:.85rem;flex-shrink:0}.campus-crm-search input,.catalog-search input{border:0;outline:0;width:100%;font-size:.78rem;background:0 0;color:var(--cs-text)}.campus-crm-search input::placeholder,.catalog-search input::placeholder{color:var(--cs-text-light)}.admin-viewer-segments,.catalog-chips,.doc-filter-chips{display:flex;flex-wrap:wrap;gap:.35rem}.admin-segment-btn,.catalog-chip,.doc-filter-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem .65rem;font-size:.72rem;font-weight:700;border-radius:var(--cs-radius-pill);border:.5px solid var(--cs-border);background:var(--cs-bg-card);color:var(--cs-text-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.catalog-chip[aria-pressed=true]{background:var(--cs-accent-soft);border-color:rgba(0,18,154,.2);color:var(--cs-accent)}.catalog-sort-btn{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .65rem;font-size:.72rem;font-weight:700;border-radius:var(--cs-radius-sm);border:.5px solid var(--cs-border);background:var(--cs-bg-card);color:var(--cs-text-muted);cursor:pointer;flex-shrink:0}.catalog-sort-btn:hover{border-color:rgba(0,18,154,.25);color:var(--cs-accent)}.admin-segment-btn.is-active,.catalog-chip.is-active,.doc-filter-chip.is-active{background:var(--cs-accent-soft);border-color:rgba(0,18,154,.2);color:var(--cs-accent)}.catalog-chip__count,.doc-filter-chip__count{font-size:.65rem;font-weight:800;opacity:.75}.admin-overview-card,.admin-panel-section,.catalog-filters,.doc-filter-bar,.portal-content-card,.profile-kpi-grid+*{background:var(--cs-bg-card);border:.5px solid var(--cs-border);border-radius:var(--cs-radius);box-shadow:none}.catalog-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.55rem .65rem}.admin-table thead th,.ranking-table thead th,.repo-list-table thead th{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--cs-text-muted);background:#f8fafc;border-bottom:.5px solid var(--cs-border);padding:.45rem .65rem;white-space:nowrap}.admin-table tbody td,.ranking-table tbody td,.repo-list-table tbody td{font-size:.76rem;padding:.42rem .65rem;border-bottom:.5px solid rgba(0,0,0,.04);vertical-align:middle}.admin-table tbody tr:nth-child(even),.ranking-table tbody tr:nth-child(even),.repo-list-table tbody tr:nth-child(even){background:rgba(248,250,252,.6)}.admin-top-list{margin:0;padding:0;list-style:none}.admin-top-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.42rem .75rem;border-bottom:.5px solid rgba(0,0,0,.04)}.admin-top-list li:last-child{border-bottom:0}.admin-top-list__name{font-size:.74rem;font-weight:600;color:var(--cs-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.admin-top-list__meta{font-size:.68rem;font-weight:700;color:var(--cs-text-muted);flex-shrink:0}.admin-empty-state,.admin-panel-empty,.catalog-empty,.cs-empty,.repo-empty{text-align:center;padding:1.25rem 1rem;color:var(--cs-text-muted)}.admin-empty-state .empty-ico-wrap,.admin-panel-empty__ico,.catalog-empty__ico,.cs-empty__ico,.repo-empty i{font-size:1.5rem;color:#94a3b8;margin-bottom:.35rem}.admin-empty-state .empty-title,.admin-panel-empty__title,.catalog-empty__title,.cs-empty__title,.repo-empty-title{font-size:.88rem;font-weight:800;color:var(--cs-text);margin:0 0 .2rem}.admin-empty-state .empty-desc,.admin-panel-empty__desc,.catalog-empty__desc,.cs-empty__desc,.repo-empty-text{font-size:.72rem;margin:0;color:var(--cs-text-muted)}.profile-error,.profile-loader{background:var(--cs-bg-card);border:.5px solid var(--cs-border);border-radius:var(--cs-radius);padding:1.75rem 1rem;text-align:center}.admin-overview-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cs-gap)}.admin-overview-card{overflow:hidden}.admin-overview-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;border-bottom:.5px solid var(--cs-border)}.admin-overview-card__title{margin:0;font-size:.78rem;font-weight:800;color:var(--cs-text)}.admin-overview-card__link{border:0;background:0 0;padding:0;font-size:.68rem;font-weight:700;color:var(--cs-accent);cursor:pointer}.admin-overview-card__empty-action{display:none;padding:0 .75rem .55rem}.admin-overview-card--docs:not(:has(.admin-top-listli:nth-child(2))) .admin-overview-card__empty-action{display:block}.admin-overview-card--training .admin-top-list li:nth-child(-n+3):not(.text-muted){background:rgba(235,241,252,.45)}.admin-top-list li.text-muted{justify-content:flex-start;font-size:.72rem;color:var(--cs-text-muted)!important;padding:.55rem .75rem}.admin-crm-page .admin-overview{display:flex;flex-direction:column;gap:.65rem}.admin-crm-page .admin-overview__heading{margin:0;font-size:.82rem;font-weight:800;color:var(--cs-text)}.admin-crm-page .admin-panel-section--overview{background:0 0;border:0;box-shadow:none}.admin-crm-page .admin-panel-section--overview .admin-panel-section__body{padding:0}.admin-crm-page .admin-crm-content .admin-panel-section{border-radius:var(--cs-radius);border:.5px solid var(--cs-border);box-shadow:none;background:var(--cs-bg-card)}.admin-crm-page .admin-overview-card__empty-action .btn-link{font-size:.72rem;font-weight:700;color:var(--cs-accent);text-decoration:none}.campus-crm-page .admin-crm-topbar__tools{flex:1 1 200px;max-width:260px}.profile-page .admin-crm-topbar__tools{flex:1 1 200px;max-width:260px}body.course-page{background:var(--cs-bg)}body.course-page .topbar{background:var(--cs-bg-card);border-bottom:.5px solid var(--cs-border);box-shadow:none}body.course-page .site-footer{display:block;margin-top:auto;border-top:.5px solid var(--cs-border);background:var(--cs-bg-card);font-size:.72rem}.admin-crm-page .admin-crm-nav__link:focus-visible,.admin-segment-btn:focus-visible,.campus-crm-page .admin-crm-nav__link:focus-visible,.catalog-chip:focus-visible,button.admin-crm-metric:focus-visible{outline:2px solid var(--cs-accent-mid);outline-offset:2px}@media (max-width:1100px){.admin-crm-metrics,.catalog-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-split{grid-template-columns:1fr}}@media (max-width:992px){.admin-crm-page .admin-crm-shell,.campus-crm-page .admin-crm-shell{grid-template-columns:1fr}.admin-crm-page .admin-crm-sidebar,.campus-crm-page .admin-crm-sidebar{position:fixed;inset:0 auto 0 0;z-index:1040;width:min(280px,88vw);transform:translateX(-105%);transition:transform .2s ease}.admin-crm-page .admin-crm-shell.is-sidebar-open .admin-crm-sidebar,.campus-crm-page .admin-crm-shell.is-sidebar-open .admin-crm-sidebar{transform:translateX(0)}.admin-crm-page .admin-crm-shell.is-sidebar-open::after,.campus-crm-page .admin-crm-shell.is-sidebar-open::after{content:"";position:fixed;inset:0;background:rgba(12,22,111,.35);z-index:1035}}@media (max-width:576px){.admin-crm-page .admin-crm-main,.campus-crm-page .admin-crm-main{padding:.65rem .75rem 1rem}.catalog-stats,.ranking-page-metrics{grid-template-columns:1fr}.admin-crm-page .admin-crm-topbar__actions,.campus-crm-page .admin-crm-topbar__actions{width:100%;justify-content:flex-end}}:root{--blue:#6491E3;--blue-hover:#5280D4;--blue-dark:#4A72C9;--blue-soft:#EBF1FC;--blue-muted:#C5D8F5;--navy:#00129A;--navy-hover:#000E7A;--navy-soft:#E8EDFA;--btn:var(--blue);--btn-hover:var(--blue-hover);--btn-active:var(--blue-dark);--btn-soft:var(--blue-soft);--cta:var(--blue);--cta-hover:var(--blue-hover);--cta-active:var(--blue-dark);--cta-soft:var(--blue-soft);--green:#14B573;--green-hover:#12a368;--green-soft:#DCFCE7;--ink:#1a1a2e;--ink-muted:#4a5568;--ink-light:#718096;--bg-page:#F7FAFC;--bg-card:#ffffff;--border:#E2E8F0;--border-light:#EDF2F7;--border-hover:#CBD5E0;--shadow-xs:0 1px 3px rgba(0,18,154,.06);--shadow-sm:0 2px 8px rgba(0,18,154,.08),0 1px 2px rgba(0,0,0,.04);--shadow:0 4px 20px rgba(0,18,154,.1),0 2px 8px rgba(0,0,0,.06);--shadow-md:0 8px 30px rgba(0,18,154,.12),0 4px 12px rgba(0,0,0,.08);--focus:0 0 0 3px rgba(100,145,227,.35);--focus-cta:0 0 0 3px rgba(100,145,227,.4);--focus-ring:0 0 0 4px rgba(100,145,227,.2);--radius:16px;--radius-lg:20px;--radius-xl:24px;--radius-pill:9999px;--wrap-login:480px;--wrap-dash:1200px;--wrap:1200px;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--leading-tight:1.25;--leading-normal:1.5;--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base:200ms cubic-bezier(0.4, 0, 0.2, 1);--transition-smooth:300ms cubic-bezier(0.4, 0, 0.2, 1)}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{height:100%}body{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#ebf1fc 0,#f4f7fd 25%,#f7fafc 50%,#fff 100%);background-attachment:fixed;position:relative;color:var(--ink);font-family:Nunito,Lato,system-ui,-apple-system,sans-serif;font-size:var(--text-base);line-height:var(--leading-normal);font-weight:400;letter-spacing:-.01em;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 100% 60% at 50% -10%,rgba(100,145,227,.12) 0,transparent 50%),radial-gradient(ellipse 80% 40% at 100% 50%,rgba(0,18,154,.06) 0,transparent 45%),radial-gradient(ellipse 60% 50% at 0 80%,rgba(100,145,227,.05) 0,transparent 50%);pointer-events:none;z-index:0}body::after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%236491E3' fill-opacity='0.03'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none;z-index:0}main{flex:1 0 auto;position:relative;z-index:1}input:focus,select:focus{border-color:var(--btn)!important;box-shadow:var(--focus-ring)!important;transition:border-color var(--transition-base),box-shadow var(--transition-base)!important}.btn-primary{background-color:var(--cta);border-color:var(--cta);transition:all var(--transition-base);font-weight:600;letter-spacing:.01em}.btn-primary:hover{background-color:var(--cta-hover);border-color:var(--cta-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-primary:active{background-color:var(--cta-active);transform:translateY(0)}.btn-primary:focus-visible{box-shadow:var(--focus-cta)!important}.btn-outline-primary{color:var(--btn);border-color:var(--btn);transition:all var(--transition-base);font-weight:600}.btn-outline-primary:hover{background-color:var(--btn-soft);color:var(--btn);border-color:var(--btn);transform:translateY(-1px);box-shadow:var(--shadow-xs)}p{margin:0 0 1em;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink)}p:last-child{margin-bottom:0}.h1,h1{font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-tight);color:var(--ink);margin:0 0 .5em}.h2,h2{font-size:var(--text-xl);font-weight:700;line-height:var(--leading-tight);color:var(--ink);margin:0 0 .5em}.h3,h3{font-size:var(--text-lg);font-weight:700;line-height:var(--leading-tight);color:var(--ink);margin:0 0 .4em}.h4,.h5,.h6,h4,h5,h6{font-size:var(--text-base);font-weight:700;line-height:var(--leading-tight);color:var(--ink);margin:0 0 .35em}.small,small{font-size:var(--text-sm);color:var(--ink-muted)}.text-topbar-muted{color:var(--ink-muted)}.text-form-label{color:var(--ink)}.text-login-note{color:var(--ink-muted)}.empty-icon-wrap{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--blue-soft) 0,var(--blue-muted) 100%);display:flex;align-items:center;justify-content:center;animation:emptyPulse 2.5s ease-in-out infinite}.empty-icon{font-size:2.5rem;color:var(--navy);opacity:.85}@keyframes emptyPulse{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.08) rotate(5deg);opacity:.9}}.empty-title{font-weight:700;font-size:var(--text-lg);color:var(--ink)}.item-ico-lg{width:42px;height:42px}.feedback-contact-box{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);padding:1rem 1.1rem;transition:all var(--transition-base);position:relative;overflow:hidden}.feedback-contact-box::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--navy);opacity:0;transition:opacity var(--transition-base)}.feedback-contact-box:hover{border-color:var(--navy);box-shadow:var(--shadow-xs)}.feedback-contact-box:hover::before{opacity:1}.feedback-mail-link{font-weight:700;color:var(--navy);text-decoration:none;transition:all var(--transition-base);display:inline-block;position:relative}.feedback-mail-link::after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--navy);transition:width var(--transition-base)}.feedback-mail-link:hover{color:var(--navy-hover);transform:translateX(2px)}.feedback-mail-link:hover::after{width:100%}.final-quiz-title{color:var(--ink)}.completion-logo{width:150px}.video-course{width:100%;max-width:100%;border:none;border-radius:var(--radius-lg);background:#000}.topbar{position:sticky;top:0;z-index:1030;background:linear-gradient(180deg,rgba(255,255,255,.98) 0,rgba(245,250,255,.96) 100%);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border-light);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 2px 12px rgba(100,145,227,.06);transition:all var(--transition-base)}.topbar::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue) 0,var(--blue-dark) 50%,var(--blue) 100%);opacity:1;border-radius:0 0 4px 4px}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.45rem 0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--navy);transition:all var(--transition-base);padding:0;margin:0;border-radius:var(--radius)}.brand img{height:84px;width:auto;display:block;transition:transform var(--transition-base);filter:drop-shadow(0 2px 4px rgba(12,22,111,.1))}.brand .txt{display:flex;flex-direction:column;line-height:1.2}.brand .txt b{font-weight:800;font-size:var(--text-base);color:var(--navy);transition:color var(--transition-base)}.brand .txt span{font-size:var(--text-xs);color:var(--ink-muted);font-weight:600;transition:color var(--transition-base)}.brand:hover{color:var(--navy-hover);transform:translateX(2px)}.brand:hover .txt b{color:var(--navy-hover)}.brand:hover img{transform:scale(1.05);filter:drop-shadow(0 4px 8px rgba(100,145,227,.2))}.navbar-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-wrap:wrap}.controls{display:flex;align-items:center;gap:.5rem;flex:1 1 auto;min-width:0;max-width:520px;margin-left:auto}.navbar-actions .controls{margin-left:0}.controls.navbar-search-wrap{flex:1 1 auto;min-width:0;max-width:560px}.search-mini{position:relative;flex:1 1 200px;min-width:0}.search-mini i{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--ink-light);pointer-events:none;font-size:1rem}.search-mini input{width:100%;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-card);padding:.5rem 1rem .5rem 2.5rem;font-size:var(--text-sm);font-weight:500;color:var(--ink);transition:all var(--transition-base)}.search-mini input:hover{border-color:var(--border-hover);box-shadow:var(--shadow-xs)}.search-mini input:focus{border-color:var(--btn);box-shadow:var(--focus-ring)}.search-mini input::placeholder{color:var(--ink-light);transition:opacity var(--transition-base)}.search-mini input:focus::placeholder{opacity:.5}.filter-pill{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-card);padding:.5rem .75rem;font-size:var(--text-sm);font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;transition:all var(--transition-base);cursor:pointer}.filter-pill:hover{background:var(--blue-soft);border-color:var(--blue);color:var(--blue-dark);transform:translateY(-1px);box-shadow:var(--shadow-xs)}.filter-pill:active{transform:translateY(0)}.user-pill{display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-card);padding:.35rem .5rem .35rem .75rem;flex-shrink:0;transition:all var(--transition-base);cursor:pointer}.user-pill:hover{background:var(--blue-soft);border-color:var(--blue);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);position:relative;flex-shrink:0;transition:all var(--transition-base)}.user-pill:hover .avatar{background:var(--blue);color:#fff;transform:scale(1.05)}.avatar i{font-size:1rem;transition:transform var(--transition-base)}.active-dot{position:absolute;right:0;bottom:0;width:10px;height:10px;border-radius:50%;background:var(--green);border:2.5px solid var(--bg-card);box-shadow:0 0 0 2px rgba(0,18,154,.2);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,100%{transform:scale(1);box-shadow:0 0 0 2px rgba(0,18,154,.2)}50%{transform:scale(1.1);box-shadow:0 0 0 4px rgba(0,18,154,.1)}}.user-name{font-weight:600;font-size:var(--text-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}@keyframes dropdownFadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.item-ico{width:36px;height:36px;border-radius:var(--radius);display:grid;place-items:center;background:var(--cta-soft);color:var(--btn);flex-shrink:0;transition:all var(--transition-base)}.icon-pill{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);display:grid;place-items:center;text-decoration:none;color:var(--ink-muted);transition:all var(--transition-base)}.icon-pill:hover{background:var(--navy-soft);border-color:var(--navy);color:var(--navy);transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-sm)}.icon-pill:active{transform:translateY(0) scale(1)}.icon-pill i{font-size:1rem;transition:transform var(--transition-base)}.icon-pill:hover i{transform:scale(1.1)}.controls-course{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.navbar-actions .controls-course{margin-left:0}.site-footer{flex:0 0 auto;background:linear-gradient(180deg,var(--navy) 0,#0a1259 100%);border-top:1px solid rgba(0,18,154,.4);margin-top:3rem;position:relative;overflow:hidden}.site-footer::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 100%,rgba(0,18,154,.15),transparent 60%);pointer-events:none}.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(0,18,154,.6),transparent)}.footer-inner{width:100%;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1}.footer-center{font-size:var(--text-sm);color:rgba(255,255,255,.9);letter-spacing:.02em}.footer-center strong{font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1)}.footer-inner{flex-direction:column}.footer-aviso-line{display:block;margin-top:.35rem;font-size:var(--text-sm)}.footer-aviso-link{color:rgba(255,255,255,.9);text-decoration:none}.footer-aviso-link:hover{color:#fff;text-decoration:underline}.footer-aviso-link:focus-visible{outline:0;text-decoration:underline}body.login-page .wrap{max-width:min(1040px,100%)}.login-shell{padding:2rem 0 2.75rem;display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,440px);gap:0;align-items:stretch;animation:loginShellIn .65s cubic-bezier(.22,1,.36,1) both}@keyframes loginShellIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-aside{position:relative;border-radius:var(--radius-xl) 0 0 var(--radius-xl);background:linear-gradient(165deg,var(--navy-soft) 0,#fff 42%,var(--blue-soft) 100%);border:1px solid var(--border);border-right:none;overflow:hidden;min-height:420px;display:flex;align-items:center;padding:2rem 1.75rem}.login-aside__glow{position:absolute;width:260px;height:260px;top:-90px;right:-70px;background:radial-gradient(circle,rgba(28,176,246,.22) 0,transparent 68%);pointer-events:none}.login-aside__pattern{position:absolute;inset:0;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 4h4v4h-4V4zm8 8h4v4h-4v-4zm-16 0h4v4h-4v-4zm8 16h4v4h-4v-4zm-8-8h4v4h-4v-4zm16 0h4v4h-4v-4z' fill='%231CB0F6'/%3E%3C/svg%3E");pointer-events:none}.login-aside__content{position:relative;z-index:1}.login-aside__eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);margin-bottom:.65rem}.login-aside__lead{margin:0 0 1.25rem;font-size:clamp(1.15rem,2.5vw,1.45rem);font-weight:800;line-height:1.3;color:var(--ink);letter-spacing:-.02em}.login-aside__bullets{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem}.login-aside__bullets li{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--ink-muted);display:flex;align-items:flex-start;gap:.5rem}.login-aside__bullets i{color:var(--btn);margin-top:.1rem;flex-shrink:0}.login-card{width:100%;max-width:none;background:linear-gradient(165deg,#fff 0,#fafbff 100%);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border);border-radius:0 var(--radius-xl) var(--radius-xl) 0;box-shadow:var(--shadow),0 0 0 1px rgba(28,176,246,.06);overflow:hidden;transition:box-shadow var(--transition-smooth),border-color var(--transition-base);position:relative}.login-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--btn),var(--blue-muted));opacity:1}.login-card::after{display:none}.login-card:hover{box-shadow:var(--shadow-md),0 0 0 1px rgba(28,176,246,.1);transform:none;border-color:var(--border-hover)}.login-body{padding:2rem 2rem 1.85rem;position:relative;z-index:1}body.login-page .title-row{display:flex;align-items:flex-start;gap:1rem;margin-bottom:.35rem}body.login-page .title-ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#6491e3 0,#00129a 100%);color:#fff;flex-shrink:0;box-shadow:0 10px 28px rgba(28,176,246,.35),inset 0 1px 0 rgba(255,255,255,.25)}body.login-page .title-ico i{font-size:1.35rem}body.login-page .login-card:hover .title-ico{transform:scale(1.03)}body.login-page .login-title{margin:0;font-size:clamp(1.4rem,3vw,1.65rem);font-weight:900;color:var(--navy);letter-spacing:-.03em}body.login-page .login-sub{margin:.4em 0 0;font-size:var(--text-sm);color:var(--ink-muted);line-height:1.45}body.login-page .divider{height:1px;margin:1rem 0 1.15rem;background:linear-gradient(90deg,transparent,var(--border) 15%,var(--border) 85%,transparent);border:none}body.login-page .login-card .field{position:relative}body.login-page .login-card .field>i{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);color:var(--btn);pointer-events:none;font-size:1.05rem;z-index:2;transition:color var(--transition-base),transform var(--transition-base)}body.login-page .login-card .field:focus-within>i{color:var(--navy);transform:translateY(-50%) scale(1.05)}body.login-page .login-card .form-control{border-radius:14px;border:2px solid var(--border);background:#fff;padding:.8rem 1rem .8rem 3rem;font-size:var(--text-base);font-weight:500;transition:border-color var(--transition-base),box-shadow var(--transition-base);box-shadow:0 2px 8px rgba(12,22,111,.04),inset 0 1px 2px rgba(0,0,0,.02)}body.login-page .login-card .field:has(.toggle-pass) .form-control{padding-right:2.85rem}body.login-page .login-card .form-control:hover{border-color:rgba(28,176,246,.45);transform:none;box-shadow:0 2px 8px rgba(28,176,246,.08)}body.login-page .login-card .form-control:focus{border-color:var(--btn);box-shadow:0 0 0 4px rgba(28,176,246,.18);transform:none}body.login-page .login-card .field .form-select{border-radius:14px;border:2px solid var(--border);background-color:#fff;padding:.8rem 2.75rem .8rem 3rem;font-size:var(--text-base);font-weight:500;line-height:1.4;transition:border-color var(--transition-base),box-shadow var(--transition-base);box-shadow:0 2px 8px rgba(12,22,111,.04),inset 0 1px 2px rgba(0,0,0,.02);background-position:right 1rem center;background-size:16px 12px}body.login-page .login-card .field .form-select:hover{border-color:rgba(28,176,246,.45);box-shadow:0 2px 8px rgba(28,176,246,.08)}body.login-page .login-card .field .form-select:focus{border-color:var(--btn);box-shadow:0 0 0 4px rgba(28,176,246,.18)}body.login-page .login-card .field-select>i{left:1.1rem}body.login-page .mini-note{font-size:var(--text-xs);margin-top:.4rem;color:var(--ink-light)}body.login-page .login-card .toggle-pass{position:absolute;top:50%;right:.4rem;transform:translateY(-50%);z-index:4;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;margin:0;padding:0;border:none;border-radius:10px;background:0 0;color:var(--ink-muted);box-shadow:none;line-height:1}body.login-page .login-card .toggle-pass i{font-size:1.1rem;pointer-events:none}body.login-page .login-card .toggle-pass:hover{background:var(--navy-soft);color:var(--navy);transform:translateY(-50%)}body.login-page .login-card .toggle-pass:focus-visible{outline:0;box-shadow:var(--focus)}body.login-page .login-card .toggle-pass:active{transform:translateY(-50%)}body.login-page .login-meta-row{padding-top:.25rem}body.login-page .login-meta-link{display:inline;border:none;background:0 0;padding:0;margin:0;font:inherit;font-weight:700;color:var(--navy);text-decoration:none;cursor:pointer;border-bottom:2px solid rgba(28,176,246,.45);transition:color var(--transition-base),border-color var(--transition-base)}body.login-page .login-meta-link:hover{color:var(--btn);border-bottom-color:var(--btn)}body.login-page .login-meta-link:focus-visible{outline:0;border-radius:4px;box-shadow:var(--focus)}body.login-page .btn-start{border-radius:14px;padding:.85rem 1.5rem;font-size:.9375rem;font-weight:800;letter-spacing:.02em;text-transform:none;background:linear-gradient(180deg,var(--cta) 0,var(--blue-dark) 100%);box-shadow:0 4px 16px rgba(28,176,246,.4),inset 0 1px 0 rgba(255,255,255,.25)}body.login-page .btn-start:hover:not(:disabled){background:linear-gradient(180deg,var(--cta-hover) 0,#1578b8 100%);transform:translateY(-1px);box-shadow:0 8px 22px rgba(28,176,246,.45)}body.login-page .text-login-note{color:var(--ink-muted)}.form-control{border-radius:12px;border:2px solid var(--border);background:var(--bg-card);backdrop-filter:blur(10px);padding:.875rem 1.5rem .875rem 3.25rem;font-size:var(--text-base);font-weight:500;color:var(--ink);transition:all var(--transition-base);box-shadow:0 2px 8px rgba(12,22,111,.04),inset 0 1px 2px rgba(0,0,0,.02)}.form-control:hover{border-color:var(--btn);box-shadow:0 4px 12px rgba(66,97,255,.1),inset 0 1px 2px rgba(0,0,0,.02);transform:translateY(-1px)}.form-control:focus{border-color:var(--btn);box-shadow:0 0 0 4px rgba(66,97,255,.15),0 6px 16px rgba(66,97,255,.2),inset 0 1px 2px rgba(0,0,0,.02);transform:translateY(-2px)}.form-control::placeholder{color:var(--ink-light);transition:opacity var(--transition-base)}.form-control:focus::placeholder{opacity:.5}.field{position:relative}.field>i{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:var(--btn);pointer-events:none;font-size:1.1rem;transition:all var(--transition-base);z-index:2}.field:focus-within>i{color:var(--cta);transform:translateY(-50%) scale(1.15)}.mini-note{font-size:var(--text-sm);color:var(--ink-muted);margin-top:.35rem}.toggle-pass{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-card);padding:.3rem .5rem;color:var(--ink-muted);transition:all var(--transition-base);cursor:pointer}.toggle-pass:hover{background:var(--navy-soft);border-color:var(--navy);color:var(--navy);transform:translateY(-50%) scale(1.05)}.toggle-pass:active{transform:translateY(-50%) scale(1)}.alert{border-radius:var(--radius-lg);border:1px solid var(--border)}@media (max-width:767.98px){.login-shell{grid-template-columns:1fr;padding:1.25rem 0 2rem}.login-aside{border-radius:var(--radius-xl);border:1px solid var(--border);min-height:0;padding:1.35rem 1.25rem}.login-aside__lead{margin-bottom:.85rem}.login-aside__bullets{gap:.45rem}.login-card{border-radius:var(--radius-xl)}.login-body{padding:1.5rem 1.35rem 1.5rem}}body.login-page .site-footer{margin-top:1.5rem}body.dashboard-page{background:#e9eef6}body.dashboard-page .wrap{max-width:var(--wrap-dash)}.dash-main{padding:1.25rem 0 2.5rem;display:flex;flex-direction:column;gap:1.15rem}.dash-hero-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.25rem;padding:1rem;border-radius:22px;background:#fff;border:1px solid rgba(66,97,255,.08);box-shadow:0 8px 32px rgba(12,22,111,.06);overflow:hidden}.dash-hero-panel__banner{border-radius:18px;overflow:hidden;line-height:0;min-height:180px}.dash-hero-panel__banner img{width:100%;height:100%;min-height:180px;object-fit:cover;display:block}.dash-hero-panel__body{display:flex;flex-direction:column;justify-content:center;padding:.35rem .5rem .35rem 0}.dash-hero-panel__sub{margin:.35rem 0 1rem;font-size:var(--text-sm);color:var(--ink-muted);font-weight:600}.dash-progress-block{margin-top:auto}.dash-progress-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:var(--text-sm);font-weight:700;color:var(--ink-muted);margin-bottom:.45rem}.dash-progress-head strong{color:var(--btn);font-size:1rem}.dash-progress-bar{height:10px;border-radius:999px;background:rgba(66,97,255,.1);overflow:hidden}.dash-progress-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue) 0,var(--navy) 55%,#00157a 100%);transition:width var(--transition-smooth)}.dash-progress-foot{margin:.45rem 0 0;font-size:var(--text-xs);font-weight:600;color:var(--ink-muted)}.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.dash-metric{position:relative;overflow:hidden;border-radius:18px;padding:1rem 1.1rem;min-height:92px;border:0}.dash-metric__label{display:block;font-size:.68rem;font-weight:700;opacity:.92;margin-bottom:.35rem}.dash-metric__value{display:block;font-size:1.55rem;font-weight:800;line-height:1}.dash-metric__ico{position:absolute;right:.85rem;bottom:.75rem;font-size:1.65rem;opacity:.35}.dash-metric--a{color:#fff;background:linear-gradient(135deg,var(--navy) 0,#00157a 100%);box-shadow:0 8px 24px rgba(0,18,154,.28)}.dash-metric--b{color:#fff;background:linear-gradient(135deg,var(--blue) 0,#5280d4 100%);box-shadow:0 8px 24px rgba(100,145,227,.25)}.dash-metric--c,.dash-metric--d{color:var(--ink);background:#fff;border:1px solid rgba(66,97,255,.1);box-shadow:var(--shadow-xs)}.dash-metric--c .dash-metric__label,.dash-metric--d .dash-metric__label{color:var(--ink-muted)}.dash-metric--c .dash-metric__ico{color:var(--blue)}.dash-metric--d .dash-metric__ico{color:var(--btn)}.dash-catalog-shell{border-radius:22px;background:#fff;border:1px solid rgba(66,97,255,.08);box-shadow:0 8px 32px rgba(12,22,111,.06);overflow:hidden}.dash-catalog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.35rem;border-bottom:1px solid rgba(66,97,255,.08);background:linear-gradient(180deg,#fff 0,#f8faff 100%)}.dash-catalog-head__title{margin:0;font-size:1.15rem;font-weight:800;color:var(--ink)}.dash-catalog-head__sub{margin:.2rem 0 0;font-size:var(--text-sm);color:var(--ink-muted);font-weight:600}.dash-catalog-badge{flex-shrink:0;padding:.35rem .75rem;border-radius:999px;font-size:var(--text-xs);font-weight:800;color:var(--btn);background:rgba(66,97,255,.08)}.dash-catalog-shell .grid-wrap{padding:1.15rem 1.35rem 1.5rem}.dash-course-block+.dash-course-block{margin-top:1.5rem;padding-top:1.35rem;border-top:1px solid rgba(66,97,255,.08)}.dash-section-head{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}.dash-section-head__ico{width:2.5rem;height:2.5rem;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--btn) 0,var(--navy) 100%);color:#fff;font-size:1.1rem}.dash-section-head__ico--done{background:linear-gradient(145deg,#14b8a6 0,#0d9488 100%)}.dash-section-head__title{margin:0;font-size:1rem;font-weight:800;color:var(--ink)}.dash-section-head__sub{margin:.1rem 0 0;font-size:var(--text-xs);color:var(--ink-muted);font-weight:600}.dash-empty{text-align:center;padding:2.5rem 1rem;border-radius:18px;background:#f8faff;border:1px dashed rgba(66,97,255,.18)}.dash-empty__ico{width:3rem;height:3rem;margin:0 auto .75rem;border-radius:50%;display:grid;place-items:center;background:rgba(66,97,255,.08);color:var(--btn);font-size:1.35rem}.dash-empty__title{margin:0 0 .35rem;font-size:1.05rem;font-weight:800;color:var(--ink)}.dash-empty__desc{margin:0;font-size:var(--text-sm);color:var(--ink-muted)}@media (max-width:992px){.dash-hero-panel{grid-template-columns:1fr}.dash-hero-panel__body{padding:0}.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:576px){.dash-main{padding-top:.85rem}.dash-metrics{grid-template-columns:1fr}.dash-catalog-head{flex-direction:column;align-items:flex-start}}.hero-header{width:100%;padding:0;overflow:hidden;line-height:0;position:relative;margin-bottom:1.75rem}.hero-header::before{content:"";position:absolute;inset:0;border-radius:var(--radius-xl);box-shadow:var(--shadow),0 0 0 1px rgba(100,145,227,.08);pointer-events:none;z-index:1}.hero-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg,rgba(100,145,227,.85) 0,rgba(14,116,144,.8) 100%);border-radius:var(--radius-xl);pointer-events:none}.hero-header.hero-image-only .hero-overlay{display:none}.hero-header.hero-image-only img{border-radius:var(--radius-xl)}.hero-title{margin:0;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:900;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3);letter-spacing:-.02em}.hero-subtitle{margin:.35em 0 0;font-size:clamp(.9rem,2vw,1.1rem);font-weight:600;color:rgba(255,255,255,.95);text-shadow:0 1px 6px rgba(0,0,0,.2)}.hero-header img{width:100%;max-width:100%;height:clamp(180px,22vw,260px);display:block;transition:all var(--transition-smooth);object-fit:cover;filter:saturate(1.05) brightness(1.02);border-radius:var(--radius-xl)}.hero-header:hover img{transform:scale(1.01);filter:saturate(1.08) brightness(1.03)}.grid-wrap{padding:.5rem 0 2rem}.grid-wrap .section-title{font-size:1.125rem;font-weight:800;color:var(--ink);margin-bottom:1rem}.grid-wrap .completed-section{margin-bottom:2rem}.dash-category-block{scroll-margin-top:5rem}.dash-category-title{--dash-cat-accent:var(--blue);display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:.5rem .65rem;font-size:1.0625rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;margin:0 0 1.1rem;padding:.2rem 0 .7rem .9rem;border:none;border-bottom:1px solid var(--border-light);border-radius:0;background:0 0;color:var(--ink);position:relative}.dash-category-title::before{content:"";position:absolute;left:0;top:.15rem;bottom:.45rem;width:4px;border-radius:4px;background:var(--dash-cat-accent);box-shadow:0 1px 2px rgba(15,23,42,.08)}.dash-category-title-text{display:inline-flex;align-items:center;gap:.45rem}.dash-category-title-count{font-size:.7rem;font-weight:800;padding:0;min-width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;line-height:1;border:1px solid transparent;flex-shrink:0}.dash-category-title .dash-category-title-count.badge{padding:0}.dash-category-title--compras{--dash-cat-accent:#c9a010}.dash-category-title--compras .dash-category-title-count{background:rgba(201,160,16,.12);border-color:rgba(201,160,16,.25);color:#5c4a08}.dash-category-title--precios_costos{--dash-cat-accent:#1e9d5c}.dash-category-title--precios_costos .dash-category-title-count{background:rgba(30,157,92,.1);border-color:rgba(30,157,92,.22);color:#145a36}.dash-category-title--tesoreria{--dash-cat-accent:#1c7ed6}.dash-category-title--tesoreria .dash-category-title-count{background:rgba(28,126,214,.1);border-color:rgba(28,126,214,.22);color:#0b4f8c}.dash-category-title--direccion_adjunta{--dash-cat-accent:#64748b}.dash-category-title--direccion_adjunta .dash-category-title-count{background:rgba(100,116,139,.1);border-color:rgba(100,116,139,.2);color:#3d4856}.dash-category-title--tecnologia{--dash-cat-accent:#0891b2}.dash-category-title--tecnologia .dash-category-title-count{background:rgba(8,145,178,.1);border-color:rgba(8,145,178,.22);color:#155e75}.dash-category-title--recursos_humanos{--dash-cat-accent:var(--navy)}.dash-category-title--recursos_humanos .dash-category-title-count{background:rgba(124,58,237,.1);border-color:rgba(124,58,237,.22);color:#4c1d95}.dash-category-title--otros{--dash-cat-accent:var(--navy)}.dash-category-title--otros .dash-category-title-count{background:rgba(14,76,146,.1);border-color:rgba(14,76,146,.18);color:var(--navy)}.course-card-v3-category{display:inline-flex;align-self:flex-start;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .45rem;border-radius:6px;margin-bottom:.15rem;color:var(--ink-muted);background:var(--border-light);border:1px solid var(--border)}.course-card-v3--soon .course-card-v3-category{background:#e9ecef;border-color:#ced4da;color:#6c757d}.course-card-v3-category--compras{background:#fff9e6;border-color:#f5e6a8;color:#7c5e10}.course-card-v3-category--precios_costos{background:#e8f8ef;border-color:#c8ead4;color:#1e5c3a}.course-card-v3-category--tesoreria{background:var(--blue-soft);border-color:var(--blue-muted);color:var(--navy)}.course-card-v3-category--direccion_adjunta{background:#f1f3f5;border-color:#dee2e6;color:#495057}.course-card-v3-category--tecnologia{background:#ecfeff;border-color:#a5f3fc;color:#155e75}.course-card-v3-category--recursos_humanos{background:#f3e8ff;border-color:#d8b4fe;color:#5b21b6}.course-card-v3-category--otros{background:var(--navy-soft);color:var(--navy)}.course-card-v3{height:100%;display:flex;flex-direction:column}.course-card-v3-inner{flex:1;display:flex;align-items:stretch;min-height:120px;background:#fff;border:2px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:all var(--transition-smooth);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit}.course-card-v3-inner:hover{border-color:var(--blue-muted);box-shadow:var(--shadow-md);transform:translateY(-4px)}.course-card-v3-inner[data-coming-soon="1"]{cursor:not-allowed}.course-card-v3-inner[data-coming-soon="1"]:hover{transform:none}.course-card-v3--soon .course-card-v3-inner{background:linear-gradient(165deg,#f1f3f5 0,#e9ecef 100%);border-color:#d8dde3;box-shadow:0 2px 8px rgba(15,23,42,.06)}.course-card-v3--soon .course-card-v3-inner:hover{border-color:#cbd0d6;box-shadow:0 2px 10px rgba(15,23,42,.08)}.course-card-v3--soon .course-card-v3-icon{background:linear-gradient(145deg,#94a3b8 0,#64748b 100%);box-shadow:0 3px 10px rgba(100,116,139,.35);color:#fff}.course-card-v3--soon .course-card-v3-badge{color:#64748b}.course-card-v3--soon .course-card-v3-badge i{color:#94a3b8}.course-card-v3-soon-pill{display:inline-flex;align-self:flex-start;align-items:center;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:#dee2e6;color:#495057;padding:.28rem .55rem;border-radius:var(--radius-pill);border:1px solid #ced4da}.course-card-v3--soon .course-card-v3-title{color:#495057}.course-card-v3--soon .course-card-v3-objective{color:#6c757d}.course-card-v3--soon .course-card-v3-footer{border-top-color:#d8dde3}.course-card-v3--soon .course-card-v3-code,.course-card-v3--soon .course-card-v3-duration,.course-card-v3--soon .course-card-v3-meta{color:#868e96}.course-card-v3--soon .course-card-v3-arrow{background:#dee2e6;color:#6c757d}.course-card-v3--soon .course-card-v3-inner:hover .course-card-v3-arrow{background:#ced4da;color:#495057}.course-card-v3-icon{width:64px;min-width:64px;height:64px;margin:1rem 0 1rem 1rem;border-radius:50%;background:linear-gradient(145deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0;align-self:center;box-shadow:0 4px 14px rgba(100,145,227,.35);transition:transform var(--transition-base)}.course-card-v3-inner:hover .course-card-v3-icon{transform:scale(1.05)}.course-card-v3-body{flex:1;padding:1rem 1rem 1rem .5rem;display:flex;flex-direction:column;gap:.35rem;min-width:0;min-height:0}.course-card-v3-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.course-card-v3-badge i{font-size:.85rem;color:var(--blue)}.course-card-v3-title{margin:0;font-size:1rem;font-weight:700;color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card-v3-objective{margin:0;font-size:.8rem;color:var(--ink-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.course-card-v3-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border-light);flex-shrink:0}.course-card-v3-meta{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--ink-light)}.course-card-v3-duration{font-size:.75rem;color:var(--ink-light)}.course-card-v3-code{font-family:ui-monospace,monospace;font-size:.7rem;font-weight:600;color:var(--ink-muted);letter-spacing:.03em}.course-card-v3-arrow{display:flex;align-items:center;justify-content:center;width:52px;flex-shrink:0;background:var(--blue-soft);color:var(--blue);font-size:1.35rem;transition:all var(--transition-base);border-radius:0 var(--radius-xl) var(--radius-xl) 0}.course-card-v3-inner:hover .course-card-v3-arrow{background:var(--blue);color:#fff}.course-card-v3-inner[data-coming-soon="1"] .course-card-v3-arrow{color:var(--ink-light)}.course-card-v3--completed .course-card-v3-icon{background:linear-gradient(145deg,var(--green) 0,var(--green-hover) 100%);box-shadow:0 4px 14px rgba(20,181,115,.35)}.course-card-v3--completed .course-card-v3-inner{border-color:rgba(20,181,115,.25)}.course-card-v3--completed .course-card-v3-inner:hover{border-color:rgba(20,181,115,.45)}.course-card-v3--completed .course-card-v3-arrow{background:var(--green-soft);color:var(--green)}.course-card-v3--completed .course-card-v3-inner:hover .course-card-v3-arrow{background:var(--green);color:#fff}.empty{background:linear-gradient(165deg,#fff 0,#fafbff 100%);border:1px solid rgba(0,18,154,.12);border-radius:var(--radius-xl);box-shadow:0 8px 24px rgba(12,22,111,.06),0 2px 8px rgba(0,18,154,.04),inset 0 1px 0 rgba(255,255,255,.9);padding:2rem 1.5rem;text-align:center;position:relative;overflow:hidden}.empty::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy) 0,var(--btn) 100%);opacity:.8}.empty h2{font-size:var(--text-lg)}.empty p{font-size:var(--text-base);color:var(--ink-muted)}.btn-start{border:none;border-radius:10px;padding:.65rem 1.5rem;font-size:.8125rem;font-weight:700;letter-spacing:.4px;color:#fff;background:var(--cta);transition:all var(--transition-smooth);white-space:nowrap;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,18,154,.25),0 2px 6px rgba(0,18,154,.15),inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.08);text-transform:uppercase}.btn-start::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-smooth)}.btn-start:hover:not(:disabled){background:var(--cta-hover);color:#fff;transform:translateY(-2px) scale(1.01);box-shadow:0 6px 16px rgba(0,18,154,.35),0 3px 8px rgba(0,18,154,.25),inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,0,0,.1);letter-spacing:.5px}.btn-start:hover:not(:disabled)::before{left:100%}.btn-start:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-start:focus-visible{box-shadow:var(--focus-cta)}.btn-start:disabled{opacity:.6;cursor:not-allowed;background:var(--ink-light);transform:none;box-shadow:none}body.dashboard-page .site-footer{margin-top:1.5rem}.wrap{max-width:var(--wrap)}.course-shell{padding-top:1rem;padding-bottom:1.5rem;flex:1 0 auto}#courseHeader{margin-bottom:1.5rem}.course-hero{background:linear-gradient(160deg,#fff 0,var(--blue-soft) 55%,var(--navy-soft) 100%);border:1px solid rgba(14,76,146,.12);border-radius:var(--radius-xl);box-shadow:0 2px 4px rgba(14,76,146,.04),0 10px 36px rgba(14,76,146,.09);overflow:hidden;padding:clamp(1.25rem,2.5vw,2rem);margin-bottom:1.25rem;position:relative;transition:box-shadow var(--transition-smooth),transform var(--transition-smooth)}.course-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy) 0,var(--blue) 100%)}.course-header-badges{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.65rem}.content-header-pill{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);background:var(--navy-soft);border:1px solid rgba(14,76,146,.18);padding:.3rem .75rem;border-radius:var(--radius-pill)}.course-code-pill{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:.3rem .9rem;font-size:var(--text-sm);font-weight:800;text-transform:uppercase;letter-spacing:.12em;background:var(--navy);color:#fff;box-shadow:0 3px 10px rgba(14,76,146,.3)}.course-title-main{font-size:clamp(1.45rem,2.6vw,2.1rem);font-weight:800;color:var(--ink);line-height:1.2;letter-spacing:-.02em;margin-bottom:0}.course-subtitle{font-size:var(--text-sm);color:var(--ink-muted);margin-top:.3rem;line-height:1.45}.meta-chip-row{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.85rem;margin-bottom:0}.chip-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:var(--radius-pill);background:#fff;border:1px solid var(--border);font-weight:600;color:var(--ink);font-size:var(--text-sm);box-shadow:0 1px 4px rgba(14,76,146,.07);white-space:nowrap}.chip-duration{background:var(--blue-soft);border-color:var(--blue-muted);color:var(--navy);font-weight:700}.chip-doc{color:var(--ink-muted);font-size:var(--text-xs);letter-spacing:.02em}.course-audience-block{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem 1rem;margin-top:1rem;border-radius:14px;background:rgba(14,76,146,.04);border:1px solid rgba(14,76,146,.1)}.course-info-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:1rem;color:var(--navy);background:rgba(14,76,146,.1)}.course-info-label{display:block;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--navy);margin-bottom:.2rem}.course-audience-text{font-size:var(--text-sm);color:var(--ink);line-height:1.5}.course-hero-main{min-width:0}.course-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.course-meta-row{display:flex;flex-wrap:wrap;gap:.75rem}.course-meta-badge{display:inline-flex;flex-direction:column;justify-content:center;padding:.65rem 1.1rem;border-radius:14px;background:var(--blue-soft);border:1px solid var(--blue-muted);transition:all var(--transition-base)}.course-meta-badge:hover{background:var(--navy-soft);border-color:var(--navy);transform:translateY(-2px)}.course-meta-label{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--navy)}.course-meta-label i{font-size:.85rem}.course-meta-value{font-size:var(--text-base);font-weight:700;color:var(--ink)}.course-doc-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:var(--radius-pill);background:var(--blue-soft);border:1px solid var(--blue-muted);color:var(--navy);font-weight:600;font-size:var(--text-sm);white-space:nowrap}.badge-chip{border-radius:var(--radius-pill);padding:.3rem .6rem;font-size:var(--text-xs);background:var(--border-light);border:1px solid var(--border);color:var(--ink-muted);font-weight:500}.btn-pill-outline{border-radius:var(--radius-pill);border:1.5px solid var(--btn);background:#fff;font-size:var(--text-sm);font-weight:600;color:var(--btn);padding:.5rem 1rem;transition:all var(--transition-base);box-shadow:0 8px 20px rgba(0,18,154,.08)}.btn-pill-outline:hover:not(:disabled){background:var(--btn);border-color:var(--btn);color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,18,154,.14)}.btn-pill-outline:active:not(:disabled){transform:translateY(0)}.btn-pill-outline:disabled{opacity:.5;cursor:not-allowed}.viaticos-formatos-anexos{border-color:var(--border)!important}.viaticos-formatos-anexos__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.95rem 1.25rem;border-bottom:1px solid var(--border)}.viaticos-formatos-anexos__row:last-child{border-bottom:none}.progress{height:10px;border-radius:var(--radius-pill);background:rgba(12,22,111,.08);overflow:hidden;position:relative;box-shadow:inset 0 1px 3px rgba(12,22,111,.06)}.progress-bar{border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--navy) 0,var(--btn) 100%);transition:width var(--transition-smooth);position:relative;overflow:hidden;box-shadow:0 0 12px rgba(0,18,154,.25)}.progress-bar::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2.5s ease-in-out infinite}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.progress-bar-init{width:0%}.module-button{text-align:left;width:100%;font-size:var(--text-sm);border-radius:var(--radius);margin-bottom:.35rem;border:1px solid var(--border);padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;background:var(--bg-card);color:var(--ink);transition:all var(--transition-base);position:relative;cursor:pointer}.module-button .module-index{width:24px;height:24px;border-radius:50%;background:var(--border-light);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;color:var(--ink-muted)}.module-button.active{background:linear-gradient(135deg,var(--btn) 0,var(--navy) 100%);border-color:var(--btn);color:#fff;box-shadow:0 4px 12px rgba(0,18,154,.25),0 0 0 1px rgba(255,255,255,.1) inset;transform:translateX(6px)}.module-button.active .module-index{background:rgba(255,255,255,.35);border-color:transparent;color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.25)}.module-button.completed{background:linear-gradient(135deg,rgba(0,18,154,.08) 0,rgba(0,18,154,.04) 100%);color:var(--navy);border-color:rgba(0,18,154,.25);position:relative}.module-button.completed .module-index{border-color:var(--btn);color:var(--navy);background:rgba(0,18,154,.12)}.module-button.completed .fa-circle-check{color:var(--btn);animation:checkPulse .5s ease-out}@keyframes checkPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}.module-button.locked{opacity:.5;cursor:not-allowed;background:var(--border-light);position:relative}.module-button.locked::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.02) 10px,rgba(0,0,0,.02) 20px);pointer-events:none}.module-button.locked .module-index{background:var(--border);color:var(--ink-light);border-color:var(--border)}.module-button:not(.locked):hover{background:var(--cta-soft);border-color:var(--btn);color:var(--btn);transform:translateX(4px);box-shadow:var(--shadow-xs)}.content-section h2:not(.accordion-header){font-size:var(--text-xl);font-weight:700;margin:0 0 .5rem;color:var(--ink);position:relative;padding-left:.5rem;border-left:4px solid var(--btn);border-radius:0 4px 4px 0}.content-section h3{font-size:var(--text-lg);font-weight:700;margin:1rem 0 .4rem;color:var(--ink)}.content-section .accordion-button{font-weight:600;transition:all var(--transition-fast)}.content-section .accordion-button:not(.collapsed){background:linear-gradient(135deg,rgba(0,18,154,.08),rgba(0,18,154,.04));color:var(--navy)}.content-section .card{transition:transform var(--transition-base),box-shadow var(--transition-base)}.content-section .card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(12,22,111,.1)}.content-section p{font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink);margin:0 0 .75em}.content-section ul{padding-left:1.25rem}.content-section li{font-size:var(--text-base);margin-bottom:.25rem;color:var(--ink);line-height:var(--leading-normal)}#finalQuizPanel,#quizPanel{background:linear-gradient(180deg,rgba(250,252,255,.9) 0,rgba(245,248,255,.95) 100%);border-radius:var(--radius-lg);border:1px solid rgba(0,18,154,.12);box-shadow:0 2px 12px rgba(12,22,111,.06),inset 0 1px 0 rgba(255,255,255,.8)}#finalQuizPanel .form-check-input,#quizPanel .form-check-input{border-color:var(--border)}#finalQuizPanel .form-check-input:checked,#quizPanel .form-check-input:checked{background-color:var(--navy);border-color:var(--navy)}#finalQuizPanel .form-check-input:focus,#quizPanel .form-check-input:focus{box-shadow:0 0 0 3px rgba(12,22,111,.25)}#finalQuizPanel .form-check-label,#quizPanel .form-check-label{cursor:pointer;font-size:var(--text-base);color:var(--ink)}.quiz-feedback-message{padding:.75rem 1rem;border-radius:var(--radius);margin-top:.75rem;font-size:var(--text-sm);font-weight:500;display:flex;align-items:center;gap:.5rem;opacity:0;transform:translateY(8px) scale(.95);animation:fadeInSlideUp var(--transition-base) forwards;border-left:3px solid;box-shadow:var(--shadow-xs)}.quiz-feedback-message.text-success{background:#d1fae5;color:#065f46;border-left-color:#10b981}.quiz-feedback-message.text-danger{background:#fee2e2;color:#991b1b;border-left-color:#ef4444}.quiz-feedback-message.text-warning{background:#fef3c7;color:#92400e;border-left-color:var(--blue)}@keyframes fadeInSlideUp{to{opacity:1;transform:translateY(0) scale(1)}}#finalScorePanel{background:var(--green-soft);color:#1e3a5f;border:2px solid var(--green);border-radius:var(--radius-lg);animation:fadeInSlideUp var(--transition-smooth) ease-out;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}#finalScorePanel::before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:rgba(0,18,154,.08);border-radius:50%;pointer-events:none}#finalQuizPanel .progress-bar.bg-info{background:var(--navy)!important}#finalCompletionPage{margin-top:1.5rem}#finalCompletionPage .completion-card{background:linear-gradient(165deg,#fff 0,#fafbff 50%,#f5f8ff 100%);border-radius:var(--radius-xl);padding:2rem;border:1px solid rgba(0,18,154,.12);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 16px 48px rgba(12,22,111,.1),0 8px 24px rgba(0,18,154,.08);color:var(--ink);position:relative;overflow:hidden}#finalCompletionPage .completion-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--navy),var(--btn))}#finalCompletionPage .completion-card::after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,18,154,.04) 0,transparent 50%);pointer-events:none}#finalCompletionPage .celebration-icon{font-size:3rem;color:var(--green);margin-bottom:.5rem;animation:celebrationBounce 1s ease-out;display:inline-block}@keyframes celebrationBounce{0%,100%{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-10deg)}50%{transform:scale(1.1) rotate(10deg)}75%{transform:scale(1.15) rotate(-5deg)}}#finalCompletionPage h2{font-size:var(--text-2xl);font-weight:700;margin-top:.5rem;color:var(--ink)}#finalCompletionPage p.lead{font-size:var(--text-base);color:var(--ink-muted);margin-bottom:1rem;line-height:var(--leading-normal)}#finalCompletionPage .form-control{border-radius:var(--radius-pill);max-width:360px;margin:0 auto 1rem;padding:.6rem 1.25rem;border:1px solid var(--border);font-size:var(--text-base)}#finalCompletionPage .btn-link{color:var(--navy);font-weight:600}.admin-page main{padding-top:1.5rem;padding-bottom:2.5rem}.admin-page-head{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}.admin-page-head .page-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--btn) 0,var(--navy) 100%);color:#fff;flex-shrink:0;box-shadow:0 8px 24px rgba(0,18,154,.3),0 2px 8px rgba(12,22,111,.2)}.admin-page-head .page-ico i{font-size:1.5rem}.admin-page-head .page-titles h1{margin:0 0 .15rem;font-size:var(--text-xl);font-weight:700;color:var(--ink)}.admin-page-head .page-titles .page-sub{margin:0;font-size:var(--text-sm);color:var(--ink-muted);font-weight:500}.admin-section-title{font-size:var(--text-lg);font-weight:800;color:var(--ink);letter-spacing:-.02em}.admin-section-desc{font-size:var(--text-sm);color:var(--ink-muted);font-weight:500;max-width:52rem;line-height:1.45}.admin-page #adminTabsShell{margin-bottom:2rem}.admin-tabs{display:flex;flex-wrap:wrap;gap:.65rem;padding:.35rem;margin-bottom:1.25rem;background:linear-gradient(180deg,#eef4fc 0,#e8f0fa 100%);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:0 1px 0 rgba(255,255,255,.9) inset}.admin-tab{flex:1 1 220px;display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border:2px solid transparent;border-radius:var(--radius-lg);background:rgba(255,255,255,.65);color:var(--ink);text-align:left;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.admin-tab:hover{background:#fff;border-color:rgba(28,176,246,.35)}.admin-tab.is-active{background:#fff;border-color:var(--btn);box-shadow:0 4px 16px rgba(28,176,246,.2)}.admin-tab:focus-visible{outline:0;box-shadow:var(--focus)}.admin-tab__ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;font-size:1.2rem;background:linear-gradient(145deg,#e8f2fc 0,#dceaf8 100%);color:var(--navy)}.admin-tab.is-active .admin-tab__ico{background:linear-gradient(145deg,var(--btn) 0,var(--navy) 100%);color:#fff}.admin-tab__text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.admin-tab__label{font-size:var(--text-sm);font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.2}.admin-tab__hint{font-size:.7rem;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.admin-tab-panel{outline:0}.admin-viewer-controls{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-top:1.15rem;padding-top:1rem;border-top:1px dashed rgba(66,97,255,.2)}.admin-viewer-controls__search{flex:1 1 240px;min-width:0}.admin-viewer-search{display:block;width:100%}.admin-viewer-search__inner{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:0 1px 3px rgba(12,22,111,.06)}.admin-viewer-search__inner:focus-within{border-color:var(--btn);box-shadow:var(--focus)}.admin-viewer-search__inner i{color:var(--ink-muted);flex-shrink:0}.admin-viewer-search__inner .form-control{border:none;box-shadow:none;padding:.2rem 0;background:0 0}.admin-viewer-search__inner .form-control:focus{box-shadow:none}.admin-viewer-refresh{flex-shrink:0;font-weight:700;box-shadow:0 2px 10px rgba(28,176,246,.25)}.admin-viewer-filter-empty{border-bottom:1px solid var(--border-light);background:rgba(248,250,252,.9)}.admin-crud-controls{margin-top:1.1rem;padding-top:1.1rem;border-top:1px dashed rgba(99,102,241,.22);max-width:min(100%,28rem)}.admin-crud-search-help{font-size:.8rem}.admin-crud-filter-empty{background:rgba(248,250,252,.95)}.admin-panel-section{position:relative;background:#fff;border-radius:var(--radius-xl);border:1px solid rgba(66,97,255,.12);box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 12px 40px rgba(12,22,111,.07);overflow:hidden}.admin-panel-section__ribbon{height:5px;background:linear-gradient(90deg,var(--btn) 0,var(--navy) 100%)}.admin-panel-section--viewer .admin-panel-section__ribbon{background:linear-gradient(90deg,#22c55e 0,var(--btn) 45%,var(--navy) 100%)}.admin-panel-section--crud .admin-panel-section__ribbon{background:linear-gradient(90deg,var(--navy) 0,var(--navy) 55%,#0a2d5c 100%)}.admin-panel-section__top{padding:1.35rem 1.5rem 1rem;background:linear-gradient(165deg,#f8fbff 0,#f0f7ff 50%,#fafdff 100%);border-bottom:1px solid rgba(66,97,255,.08)}.admin-panel-section__top--crud{background:linear-gradient(165deg,#f8f9fc 0,#f1f4f9 55%,#fafbfd 100%)}.admin-panel-section__title-row{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.admin-panel-section__ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(145deg,var(--btn) 0,var(--navy) 100%);color:#fff;font-size:1.35rem;box-shadow:0 6px 20px rgba(28,176,246,.35)}.admin-panel-section__ico--crud{background:linear-gradient(145deg,var(--navy) 0,#00157a 100%);box-shadow:0 6px 20px rgba(14,76,146,.28)}.admin-panel-section__titles{flex:1;min-width:min(100%,280px)}.admin-panel-h2{margin:0 0 .35rem;font-size:1.35rem;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1.2}.admin-panel-lead{margin:0;font-size:var(--text-sm);color:var(--ink-muted);font-weight:500;line-height:1.5;max-width:40rem}.admin-panel-section__body{padding:0;background:#fff}.admin-panel-section__body--flush>.admin-panel-toolbar--crud{padding:.85rem 1.35rem;background:rgba(248,250,252,.5)}.admin-panel-section--docs .admin-panel-section__body,.admin-panel-section--overview .admin-panel-section__body,.admin-panel-section--viewer .admin-panel-section__body{padding:1.15rem 1.35rem 1.35rem}.admin-panel-toolbar--crud{grid-template-columns:minmax(12rem,20rem) auto;margin:0;border-radius:0;border-left:0;border-right:0;border-top:0;border-bottom:1px solid rgba(66,97,255,.08)}.admin-table-card--nested{border-radius:0;border:none;box-shadow:none;border-top:0}.admin-viewer-loader{border-bottom:1px solid rgba(66,97,255,.06)}.admin-viewer-table-shell{padding:0}.admin-viewer-table-shell .admin-table-wrap{padding:0 0 .25rem}.admin-viewer-table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);border-bottom-width:2px}.admin-viewer-table tbody tr:nth-child(even){background:rgba(248,250,252,.85)}.admin-viewer-table tbody tr:hover{background:rgba(229,245,255,.65)}.admin-viewer-table td{vertical-align:top;padding-top:.85rem;padding-bottom:.85rem;border-color:var(--border-light)}.admin-viewer-email{font-weight:600;color:var(--ink);font-size:var(--text-sm)}.admin-viewer-name{font-size:var(--text-xs);color:var(--ink-muted);margin-top:.2rem}.admin-viewer-courses{margin:0;padding-left:1.15rem}.admin-viewer-courses li{margin-bottom:.45rem;line-height:1.4}.admin-viewer-courses li:last-child{margin-bottom:0}.admin-viewer-code{font-weight:700;font-size:.68rem;letter-spacing:.04em;color:var(--navy);background:var(--blue-soft);padding:.12rem .35rem;border-radius:6px}.admin-viewer-empty{font-size:var(--text-sm);color:var(--ink-light);font-style:italic}.admin-viewer-total{font-weight:800;font-size:.8rem;min-width:2rem;padding:.4em .65em;background:linear-gradient(180deg,var(--blue-soft) 0,#dff3ff 100%)!important;color:var(--navy)!important;border:1px solid var(--blue-muted)!important}@media (max-width:575.98px){.admin-panel-section__title-row{flex-direction:column;align-items:stretch}.admin-panel-section__ico{align-self:flex-start}.admin-viewer-refresh{width:100%}.admin-tabs{flex-direction:column}.admin-tab{flex:1 1 auto}}.admin-table-card{background:#fff;border:1px solid rgba(0,18,154,.1);border-radius:var(--radius-lg);box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 8px 32px rgba(12,22,111,.08);overflow:hidden}.admin-table-card .admin-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(180deg,#fafbff 0,#f5f8ff 100%);border-bottom:1px solid rgba(0,18,154,.08)}.admin-table-card .admin-toolbar .user-count{font-size:var(--text-sm);color:var(--ink-muted);font-weight:600;display:flex;align-items:center;gap:.35rem}.admin-table-card .admin-toolbar .user-count i{font-size:1rem;color:var(--btn)}.admin-table-card .btn-add-user{font-weight:600;padding:.5rem 1.25rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:.4rem;transition:all var(--transition-base)}.admin-table-card .btn-add-user:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;margin:0;border-collapse:collapse;font-size:var(--text-sm)}.admin-table thead{background:rgba(12,22,111,.04)}.admin-table th{padding:.85rem 1rem;text-align:left;font-weight:700;color:var(--ink);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.admin-table td{padding:.9rem 1rem;border-bottom:1px solid var(--border-light);color:var(--ink);vertical-align:middle}.admin-table tbody tr{transition:background var(--transition-fast)}.admin-table tbody tr:hover{background:rgba(0,18,154,.03)}.admin-table .col-email{font-weight:500;color:var(--ink)}.admin-table .col-name{color:var(--ink-muted)}.admin-table .col-actions{white-space:nowrap;text-align:right}.admin-role-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.admin-role-badge.role-admin{background:linear-gradient(135deg,var(--btn) 0,var(--navy) 100%);color:#fff;box-shadow:0 2px 8px rgba(0,18,154,.3)}.admin-role-badge.role-user{background:var(--navy-soft);color:var(--navy);border:1px solid rgba(12,22,111,.15)}.admin-btn-row{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.admin-btn-row .btn-action{padding:.35rem .75rem;font-size:.8rem;font-weight:600;border-radius:10px;display:inline-flex;align-items:center;gap:.35rem;transition:all var(--transition-fast)}.admin-btn-row .btn-action.btn-edit:hover{background:var(--btn-soft);color:var(--btn);border-color:var(--btn)}.admin-btn-row .btn-action.btn-delete:hover{background:rgba(220,53,69,.08);color:#dc3545;border-color:rgba(220,53,69,.4)}.admin-skeleton-row td{padding:.75rem 1rem;vertical-align:middle}.admin-skeleton-line{display:block;height:1rem;border-radius:6px;background:linear-gradient(90deg,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:200% 100%;animation:adminSkeleton 1s ease-in-out infinite}@keyframes adminSkeleton{to{background-position:200% 0}}.admin-table-card tbody.admin-loading .admin-skeleton-row{display:table-row}.admin-table-card tbody:not(.admin-loading) .admin-skeleton-row{display:none}.admin-empty-state{text-align:center;padding:3rem 1.5rem}.admin-empty-state .empty-ico-wrap{width:72px;height:72px;border-radius:50%;background:var(--navy-soft);color:var(--navy);display:grid;place-items:center;margin:0 auto 1rem}.admin-empty-state .empty-ico-wrap i{font-size:1.75rem}.admin-empty-state .empty-title{font-size:var(--text-base);font-weight:700;color:var(--ink);margin:0 0 .35rem}.admin-empty-state .empty-desc{font-size:var(--text-sm);color:var(--ink-muted);margin:0}.ranking-sidebar-overlay{position:fixed;inset:0;background:rgba(12,22,111,.2);opacity:0;visibility:hidden;z-index:1040;transition:opacity var(--transition-base),visibility var(--transition-base)}.ranking-sidebar-overlay.is-open{opacity:1;visibility:visible}.ranking-sidebar{position:fixed;top:0;right:0;width:min(380px,100vw);max-width:100%;height:100vh;background:#fff;box-shadow:-8px 0 32px rgba(12,22,111,.12);z-index:1050;transform:translateX(100%);transition:transform var(--transition-smooth);overflow:hidden;display:flex;flex-direction:column}.ranking-sidebar.is-open{transform:translateX(0)}.ranking-sidebar-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}.ranking-sidebar-header{flex-shrink:0;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border-light);background:linear-gradient(180deg,#fafbff 0,#fff 100%)}.ranking-sidebar-title{font-size:var(--text-base);font-weight:700;color:var(--ink)}.ranking-sidebar-sub{font-size:.75rem}.ranking-sidebar-body{flex:1;overflow-y:auto;padding:1rem}.ranking-header-ico{width:36px;height:36px;border-radius:var(--radius);display:grid;place-items:center;background:linear-gradient(145deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff;box-shadow:0 2px 8px rgba(100,145,227,.35)}.ranking-header-ico i{font-size:1rem}.btn-ghost{background:0 0;border:none;color:var(--ink-muted)}.btn-ghost:hover{background:rgba(0,0,0,.06);color:var(--ink)}.ranking-table{width:100%;border-collapse:collapse;font-size:.8125rem;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(12,22,111,.08)}.ranking-table thead{background:linear-gradient(135deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff}.ranking-table th{padding:.5rem .6rem;text-align:left;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.02em}.ranking-table th.th-num{width:2.5rem;text-align:center}.ranking-table th.th-value{text-align:right}.ranking-table td{padding:.45rem .6rem;border-bottom:1px solid var(--border-light)}.ranking-table tbody tr{background:#fff;transition:background .15s ease}.ranking-table tbody tr:nth-child(even){background:#f8fafc}.ranking-table tbody tr:hover{background:var(--blue-soft)}.ranking-table tbody tr.rank-1{background:linear-gradient(90deg,rgba(251,191,36,.18) 0,#fff 1.5rem)}.ranking-table tbody tr.rank-1:nth-child(even){background:linear-gradient(90deg,rgba(251,191,36,.22) 0,#f8fafc 1.5rem)}.ranking-table tbody tr.rank-2{background:linear-gradient(90deg,rgba(203,213,225,.35) 0,#fff 1.5rem)}.ranking-table tbody tr.rank-2:nth-child(even){background:linear-gradient(90deg,rgba(203,213,225,.4) 0,#f8fafc 1.5rem)}.ranking-table tbody tr.rank-3{background:linear-gradient(90deg,rgba(217,119,6,.15) 0,#fff 1.5rem)}.ranking-table tbody tr.rank-3:nth-child(even){background:linear-gradient(90deg,rgba(217,119,6,.2) 0,#f8fafc 1.5rem)}.ranking-table .td-num{text-align:center;vertical-align:middle}.ranking-table .ranking-medal{display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem}.ranking-table .ranking-medal.medal-1{color:#ca8a04;filter:drop-shadow(0 1px 2px rgba(202,138,4,.4))}.ranking-table .ranking-medal.medal-2{color:#64748b;filter:drop-shadow(0 1px 2px rgba(100,116,139,.4))}.ranking-table .ranking-medal.medal-3{color:#b45309;filter:drop-shadow(0 1px 2px rgba(180,83,9,.4))}.ranking-table .ranking-num{font-weight:700;color:var(--ink-muted);font-size:.875rem}.ranking-table .ranking-name{font-weight:600;color:var(--ink)}.ranking-table .ranking-value{color:var(--blue-dark);font-weight:700;text-align:right;font-size:.875rem}.ranking-table tbody tr.is-me{background:linear-gradient(90deg,rgba(100,145,227,.12) 0,#fff 1.5rem);box-shadow:inset 3px 0 0 var(--navy)}.ranking-table .rank-me-tag{display:inline-block;margin-left:.35rem;padding:.05rem .45rem;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--navy);background:var(--navy-soft)}.ranking-page .ranking-layout-page{display:flex;flex-direction:column;gap:1rem}.ranking-page-metrics{margin-bottom:.25rem}.ranking-chart-card{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:1.1rem 1.25rem;box-shadow:0 1px 3px rgba(15,23,42,.04)}.ranking-chart-card--me{background:linear-gradient(135deg,#f8fafc 0,#fff 55%)}.ranking-chart-card__title{font-size:.95rem;font-weight:700;color:var(--ink);margin:0 0 .15rem}.ranking-chart-card__sub{font-size:.75rem;color:var(--ink-muted);margin:0 0 .85rem}.ranking-chart-card__body{min-height:0}.rank-legend-dot{width:.65rem;height:.65rem;border-radius:50%;flex-shrink:0}.rank-compare-row{display:grid;grid-template-columns:7.5rem 1fr 2.5rem;align-items:center;gap:.65rem}.rank-compare-label{font-size:.78rem;color:var(--ink-muted);font-weight:600}.rank-compare-track{height:.55rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.rank-compare-fill{display:block;height:100%;border-radius:inherit;transition:width .35s ease}.rank-compare-val{font-size:.9rem;color:var(--ink);text-align:right}.rank-me-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.rank-me-stat{background:#f8fafc;border:1px solid var(--border-light);border-radius:12px;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.2rem}.rank-me-stat span{font-size:.72rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.rank-me-stat strong{font-size:1.25rem;color:var(--ink)}.ranking-panel{background:#fff;border:1px solid var(--border-light);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(15,23,42,.04)}.ranking-panel__head{padding:.85rem 1rem;border-bottom:1px solid var(--border-light);background:#f8fafc}.ranking-panel__title{margin:0;font-size:.9rem;font-weight:700;color:var(--ink)}.ranking-panel__table{padding:.35rem .5rem .65rem}@media (max-width:991.98px){.rank-compare-row{grid-template-columns:1fr;gap:.35rem}.rank-compare-val{text-align:left}}.admin-page .modal-header .item-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--btn) 0,var(--navy) 100%);color:#fff;flex-shrink:0}.admin-page .modal-header .item-ico i{font-size:1.1rem}.admin-page .modal-title-wrap .modal-title{margin:0 0 .1rem;font-size:var(--text-lg);font-weight:700}.admin-page .modal-title-wrap .modal-sub{margin:0;font-size:var(--text-sm);color:var(--ink-muted);font-weight:500}.admin-page .modal-danger .modal-header{background:linear-gradient(180deg,#fff5f5 0,#ffebeb 100%);border-bottom-color:rgba(220,53,69,.15)}.admin-page .modal-danger .modal-header .item-ico{background:linear-gradient(145deg,#dc3545 0,#c82333 100%);color:#fff}.admin-page .modal-danger .modal-header .item-ico{background:linear-gradient(145deg,#dc3545 0,#c82333 100%);color:#fff}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.admin-kpi-card{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;background:#fff;border:1px solid rgba(66,97,255,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;width:100%;text-align:left;font:inherit;color:inherit;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.admin-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:rgba(66,97,255,.22)}.admin-kpi-card:focus-visible{outline:0;box-shadow:var(--focus);border-color:var(--btn)}.admin-kpi-card.is-kpi-active{border-color:rgba(66,97,255,.45);box-shadow:0 0 0 1px rgba(66,97,255,.12),var(--shadow-sm)}.admin-kpi-card__ico{width:2.75rem;height:2.75rem;border-radius:.85rem;display:grid;place-items:center;font-size:1.15rem;flex-shrink:0}.admin-kpi-card__ico--users{background:rgba(66,97,255,.12);color:var(--btn)}.admin-kpi-card__ico--active{background:rgba(25,135,84,.12);color:#198754}.admin-kpi-card__ico--pending{background:rgba(255,193,7,.18);color:#b58100}.admin-kpi-card__ico--docs{background:rgba(13,110,253,.1);color:#0d6efd}.admin-kpi-card__value{display:block;font-size:1.35rem;font-weight:800;line-height:1.1;color:var(--ink)}.admin-kpi-card__label{display:block;font-size:var(--text-xs);color:var(--ink-muted);font-weight:600}.admin-kpi-card__hint{display:block;margin-top:.2rem;font-size:.68rem;font-weight:700;color:var(--btn);opacity:0;transform:translateY(2px);transition:opacity var(--transition-fast),transform var(--transition-fast)}.admin-kpi-card.is-kpi-active .admin-kpi-card__hint,.admin-kpi-card:focus-visible .admin-kpi-card__hint,.admin-kpi-card:hover .admin-kpi-card__hint{opacity:1;transform:translateY(0)}.admin-overview-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.admin-overview-card{background:#fff;border:1px solid rgba(66,97,255,.1);border-radius:var(--radius-lg);padding:1rem 1.15rem}.admin-overview-card__title{margin:0 0 .75rem;font-size:var(--text-sm);font-weight:800;color:var(--ink)}.admin-top-list{list-style:none;margin:0;padding:0}.admin-top-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0;border-bottom:1px solid rgba(66,97,255,.06);font-size:var(--text-sm)}.admin-top-list li:last-child{border-bottom:0}.admin-top-list__name{font-weight:600;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-top-list__meta{font-size:var(--text-xs);color:var(--ink-muted);flex-shrink:0}.admin-panel-section__top--split{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem}.admin-panel-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0}.admin-panel-toolbar{display:grid;grid-template-columns:1fr minmax(12rem,16rem) auto;gap:.65rem 1rem;align-items:center;margin-bottom:.65rem;padding:.75rem 1rem;background:rgba(255,255,255,.9);border:1px solid rgba(66,97,255,.1);border-radius:var(--radius-lg)}.admin-panel-toolbar--training{grid-template-columns:auto minmax(11rem,14rem) auto}.admin-panel-toolbar--docs{grid-template-columns:1fr minmax(11rem,14rem)}.admin-panel-toolbar__search{width:100%;min-width:0}.admin-panel-toolbar__badge{font-size:var(--text-xs);font-weight:800;color:var(--btn);background:var(--btn-soft);padding:.35rem .7rem;border-radius:999px;white-space:nowrap;justify-self:end}.admin-panel-toolbar__hint{margin:0 0 1rem;padding-left:.15rem}.admin-panel-section__ribbon--docs{background:linear-gradient(90deg,#198754 0,#20c997 55%,var(--btn) 100%)}.admin-docs-stats{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:.85rem;padding:.65rem .85rem;background:rgba(25,135,84,.06);border:1px solid rgba(25,135,84,.12);border-radius:var(--radius);font-size:var(--text-sm);color:var(--ink-muted)}.admin-docs-stat strong{color:var(--ink);font-weight:800}.admin-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 1.5rem;margin-top:.5rem;border:2px dashed rgba(66,97,255,.15);border-radius:var(--radius-lg);background:rgba(248,250,252,.6)}.admin-panel-empty__ico{width:3.5rem;height:3.5rem;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;color:var(--btn);background:var(--btn-soft);margin-bottom:.85rem}.admin-panel-empty__title{margin:0 0 .35rem;font-size:var(--text-base);font-weight:800;color:var(--ink)}.admin-panel-empty__desc{margin:0 0 1rem;font-size:var(--text-sm);color:var(--ink-muted);max-width:22rem}.admin-panel-loading{border-radius:var(--radius-lg);background:rgba(248,250,252,.8)}.admin-viewer-segments{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}@media (max-width:768px){.admin-panel-toolbar,.admin-panel-toolbar--docs,.admin-panel-toolbar--training{grid-template-columns:1fr}.admin-panel-toolbar__badge{justify-self:start}.admin-panel-section__top--split{flex-direction:column;align-items:stretch}.admin-panel-actions{justify-content:stretch}.admin-panel-actions .btn{flex:1 1 auto}}.admin-page .admin-viewer-controls{margin-top:0;padding-top:0;border-top:0}.admin-page .admin-viewer-controls__search{flex:none;max-width:100%}.admin-viewer-hint{margin-top:0}.admin-segment-btn{border:1px solid rgba(66,97,255,.18);background:#fff;color:var(--ink-muted);font-size:var(--text-xs);font-weight:700;padding:.4rem .85rem;border-radius:999px}.admin-segment-btn.is-active{background:var(--btn-soft);border-color:rgba(66,97,255,.35);color:var(--btn)}.admin-viewer-hint{margin-top:-.25rem}.admin-viewer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.admin-person-card{background:#fff;border:1px solid rgba(66,97,255,.1);border-radius:var(--radius-lg);overflow:hidden}.admin-person-card__head{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;cursor:pointer}.admin-person-card__avatar{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:var(--text-sm);background:linear-gradient(145deg,var(--btn) 0,var(--navy) 100%);color:#fff;flex-shrink:0}.admin-person-card__info{min-width:0;flex:1}.admin-person-card__name{font-weight:800;font-size:var(--text-sm);color:var(--ink);margin:0}.admin-person-card__email{font-size:var(--text-xs);color:var(--ink-muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-person-card__stats{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.admin-person-card__badge{font-size:var(--text-xs);font-weight:800;padding:.2rem .55rem;border-radius:999px;background:var(--btn-soft);color:var(--btn)}.admin-person-card__chevron{color:var(--ink-muted);transition:transform var(--transition-fast)}.admin-person-card.is-open .admin-person-card__chevron{transform:rotate(180deg)}.admin-person-card__progress{height:4px;background:rgba(66,97,255,.08);margin:0 1rem .75rem;border-radius:999px;overflow:hidden}.admin-person-card__progress-bar{height:100%;background:linear-gradient(90deg,var(--btn) 0,#5b8cff 100%);border-radius:999px}.admin-person-card__body{display:none;padding:0 1rem 1rem;border-top:1px solid rgba(66,97,255,.06)}.admin-person-card.is-open .admin-person-card__body{display:block}.admin-person-card__courses{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.35rem}.admin-person-card__courses li{font-size:var(--text-xs);color:var(--ink-muted);padding:.35rem .5rem;background:rgba(66,97,255,.04);border-radius:.45rem}.admin-person-card__courses code{font-weight:800;color:var(--btn)}.admin-viewer-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;padding-top:.5rem}.admin-docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.admin-doc-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:#fff;border:1px solid rgba(66,97,255,.1);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.admin-doc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);color:inherit}.admin-doc-card__type{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--btn)}.admin-doc-card__title{font-size:var(--text-sm);font-weight:800;color:var(--ink);margin:0}.admin-doc-card__meta{font-size:var(--text-xs);color:var(--ink-muted)}.admin-panel-section--docs .admin-panel-section__ico--docs{background:linear-gradient(145deg,#198754 0,#146c43 100%);color:#fff}.admin-panel-section--docs .admin-panel-section__ico--docs{background:linear-gradient(145deg,#198754 0,#146c43 100%);color:#fff}.admin-crm-page .topbar,.campus-crm-page .topbar{display:none}.admin-crm-page main.admin-crm-wrap,.campus-crm-page main.admin-crm-wrap{padding:0;max-width:none}.campus-crm-page{background:#e9eef6}.campus-crm-page .site-footer{display:none}a.admin-crm-nav__link{text-decoration:none;color:inherit}.campus-crm-brand-img{width:1.65rem;height:auto;object-fit:contain;filter:brightness(0) invert(1)}.admin-crm-topbar{flex-wrap:wrap}.admin-crm-topbar__tools{display:flex;align-items:center;gap:.5rem;flex:1 1 220px;justify-content:flex-end;min-width:0}.campus-crm-filter-btn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(66,97,255,.15);background:#fff;border-radius:999px;padding:.4rem .85rem;font-size:var(--text-sm);font-weight:700;color:var(--ink)}.campus-crm-search{display:flex;align-items:center;gap:.45rem;flex:1 1 160px;max-width:280px;border:1px solid rgba(66,97,255,.15);background:#fff;border-radius:999px;padding:.35rem .85rem}.campus-crm-search i{color:var(--ink-muted);font-size:.9rem}.campus-crm-search input{border:0;outline:0;width:100%;font-size:var(--text-sm);background:0 0;color:var(--ink)}.campus-crm-page .admin-crm-main .dash-catalog-shell{margin-bottom:1.5rem}.campus-crm-page .admin-crm-main .dash-highlight-card{margin-bottom:1rem}.campus-crm-page .admin-crm-main .profile-error,.campus-crm-page .admin-crm-main .profile-loader{margin-bottom:1rem}@media (max-width:992px){.admin-crm-topbar__tools{width:100%;justify-content:stretch}.campus-crm-search{max-width:none}}@media (max-width:1100px){.campus-crm-page .admin-crm-shell{grid-template-columns:1fr}.campus-crm-page .admin-crm-sidebar{position:fixed;inset:0 auto 0 0;z-index:1040;width:min(280px,88vw);transform:translateX(-105%);transition:transform var(--transition-base)}.campus-crm-page .admin-crm-shell.is-sidebar-open .admin-crm-sidebar{transform:translateX(0)}.campus-crm-page .admin-crm-shell.is-sidebar-open::after{content:"";position:fixed;inset:0;background:rgba(12,22,111,.35);z-index:1035}}.admin-crm-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh;background:#e9eef6}.admin-crm-sidebar{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1rem;background:#fff;border-right:1px solid rgba(66,97,255,.08);box-shadow:4px 0 24px rgba(12,22,111,.04)}.admin-crm-sidebar__brand{display:flex;align-items:center;gap:.75rem;padding:.35rem .5rem 1rem;border-bottom:1px solid rgba(66,97,255,.08);margin-bottom:.35rem}.admin-crm-sidebar__logo{width:2.5rem;height:2.5rem;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--btn) 0,var(--navy) 100%);color:#fff;font-size:1.1rem}.admin-crm-sidebar__title{display:block;font-size:var(--text-sm);font-weight:800;color:var(--ink)}.admin-crm-sidebar__sub{display:block;font-size:.68rem;color:var(--ink-muted);font-weight:600}.admin-crm-nav{display:flex;flex-direction:column;gap:.2rem;flex:1}.admin-crm-nav__group{margin:.85rem 0 .35rem;padding:0 .65rem;font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.admin-crm-nav__group:first-child{margin-top:0}.admin-crm-nav__link{display:flex;align-items:center;gap:.65rem;width:100%;border:0;background:0 0;color:var(--ink-muted);font-size:var(--text-sm);font-weight:700;padding:.6rem .75rem;border-radius:12px;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.admin-crm-nav__link i{width:1.15rem;text-align:center;font-size:1rem}.admin-crm-nav__link:hover{background:rgba(66,97,255,.06);color:var(--btn)}.admin-crm-nav__link.is-active{background:linear-gradient(135deg,rgba(99,102,241,.14) 0,rgba(139,92,246,.1) 100%);color:var(--btn);box-shadow:inset 3px 0 0 var(--btn)}.admin-crm-nav__link--kpi{font-weight:600;font-size:var(--text-xs)}.admin-crm-nav__link--kpi.is-kpi-active{background:rgba(66,97,255,.08);color:var(--btn);box-shadow:inset 3px 0 0 var(--btn)}.admin-crm-page .site-footer{display:none}.admin-crm-content .admin-overview-card{background:linear-gradient(180deg,#fff 0,#f8faff 100%);border:1px solid rgba(66,97,255,.08)}.admin-crm-page #adminNeedLogin{margin:2rem auto;max-width:640px}.admin-crm-nav__pill{margin-left:auto;font-style:normal;font-size:.65rem;font-weight:800;padding:.15rem .45rem;border-radius:999px;background:rgba(66,97,255,.08);color:var(--btn)}.admin-crm-sidebar__foot{margin-top:auto;padding-top:.75rem;border-top:1px solid rgba(66,97,255,.08);display:flex;flex-direction:column;gap:.5rem}.admin-crm-dl-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;border:0;border-radius:12px;padding:.65rem .85rem;font-size:var(--text-sm);font-weight:800;color:#fff;background:linear-gradient(135deg,#22c55e 0,#16a34a 100%);box-shadow:0 4px 14px rgba(34,197,94,.28)}.admin-crm-dl-btn:hover{filter:brightness(1.05)}.admin-crm-back{display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:var(--text-xs);font-weight:700;color:var(--ink-muted);text-decoration:none}.admin-crm-back:hover{color:var(--btn)}.admin-crm-main{display:flex;flex-direction:column;min-width:0;padding:1.25rem 1.5rem 2rem;overflow:auto}.admin-crm-topbar{display:flex;align-items:center;gap:1rem;margin-bottom:1.15rem}.admin-crm-menu-btn{border:1px solid rgba(66,97,255,.15);background:#fff;border-radius:10px;width:2.25rem;height:2.25rem;display:grid;place-items:center}.admin-crm-topbar__text{flex:1;min-width:0}.admin-crm-topbar__title{margin:0;font-size:1.35rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}.admin-crm-topbar__sub{margin:.1rem 0 0;font-size:var(--text-sm);color:var(--ink-muted)}.admin-crm-topbar__user{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem .35rem .85rem;background:#fff;border-radius:999px;border:1px solid rgba(66,97,255,.1);box-shadow:var(--shadow-xs)}.admin-crm-topbar__user .user-name{font-size:var(--text-sm);font-weight:700;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-crm-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1.15rem}.admin-crm-metric{position:relative;overflow:hidden;border:0;border-radius:18px;padding:1rem 1.1rem;min-height:96px;text-align:left;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.admin-crm-metric:hover{transform:translateY(-2px)}.admin-crm-metric.is-kpi-active{box-shadow:0 0 0 2px rgba(255,255,255,.9),0 8px 24px rgba(12,22,111,.15)}.admin-crm-metric__label{display:block;font-size:.68rem;font-weight:700;opacity:.9;margin-bottom:.35rem}.admin-crm-metric__value{display:block;font-size:1.65rem;font-weight:800;line-height:1}.admin-crm-metric__ico{position:absolute;right:.85rem;bottom:.75rem;font-size:1.75rem;opacity:.35}.admin-crm-metric--a{color:#fff;background:linear-gradient(135deg,var(--navy) 0,#00157a 100%);box-shadow:0 8px 24px rgba(0,18,154,.28)}.admin-crm-metric--b{color:#fff;background:linear-gradient(135deg,var(--blue) 0,#5280d4 100%);box-shadow:0 8px 24px rgba(100,145,227,.25)}.admin-crm-metric--c,.admin-crm-metric--d{color:var(--ink);background:#fff;border:1px solid rgba(66,97,255,.1);box-shadow:var(--shadow-xs)}.admin-crm-metric--c .admin-crm-metric__label,.admin-crm-metric--d .admin-crm-metric__label{color:var(--ink-muted)}.admin-crm-metric--c .admin-crm-metric__ico{color:var(--blue)}.admin-crm-metric--d .admin-crm-metric__ico{color:var(--btn)}.admin-crm-content .admin-panel-section{border-radius:20px;border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 32px rgba(12,22,111,.06)}.admin-crm-page .admin-panel-section>.admin-panel-section__top:not(.admin-panel-section__top--split){display:none}.admin-crm-page .admin-panel-section__top--split{background:0 0;border-bottom:1px solid rgba(66,97,255,.06);padding-top:.5rem}.admin-crm-page .admin-panel-section__top--split .admin-panel-section__title-row{display:none}.admin-crm-page .admin-panel-section__ribbon{display:none}@media (max-width:1100px){.admin-crm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:992px){.admin-crm-shell{grid-template-columns:1fr}.admin-crm-sidebar{position:fixed;inset:0 auto 0 0;z-index:1040;width:min(280px,88vw);transform:translateX(-105%);transition:transform var(--transition-base)}.admin-crm-shell.is-sidebar-open .admin-crm-sidebar{transform:translateX(0)}.admin-crm-shell.is-sidebar-open::after{content:"";position:fixed;inset:0;background:rgba(12,22,111,.35);z-index:1035}}@media (max-width:576px){.admin-crm-metrics{grid-template-columns:1fr}.admin-crm-main{padding:1rem}}@media (max-width:992px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-split{grid-template-columns:1fr}.admin-viewer-cards{grid-template-columns:1fr}.admin-docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:576px){.admin-kpi-grid{grid-template-columns:1fr}.admin-docs-grid{grid-template-columns:1fr}}.modal-content{border-radius:var(--radius-xl);border:1px solid rgba(0,18,154,.1);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 24px 64px rgba(12,22,111,.12),0 2px 8px rgba(0,18,154,.06);overflow:hidden}.modal-header{background:linear-gradient(180deg,#fafbff 0,#f5f8ff 100%);border-bottom:1px solid rgba(0,18,154,.08);padding:1rem 1.25rem}.modal-body{padding:1.25rem 1.5rem}@media (max-width:992px){.user-name{max-width:120px}.controls{max-width:none}.course-hero{grid-template-columns:1fr;padding:1.25rem}.course-hero-meta{align-items:flex-start}.course-meta-row{justify-content:flex-start}}@media (max-width:576px){.login-shell{padding:1.5rem 0 2rem}.login-body{padding:1.25rem}.footer-inner{padding:1rem}.user-name{max-width:100px}.navbar-search-wrap{flex-wrap:wrap}.search-mini{flex:1 1 100%}.p-md-4{padding:1.25rem!important}.btn-pill-outline{padding:.5rem 1rem;font-size:var(--text-sm)}.content-section h2{font-size:var(--text-lg)}.content-section li,.content-section p{font-size:var(--text-base)}.module-button{font-size:var(--text-sm)}#finalCompletionPage .completion-card{padding:1.5rem 1.25rem}#finalCompletionPage h2{font-size:var(--text-xl)}#finalCompletionPage p.lead{font-size:var(--text-base)}.course-hero{border-radius:var(--radius);padding:1rem 1.25rem;row-gap:1rem}.course-meta-badge{min-width:100%}.course-doc-pill{font-size:var(--text-xs);padding:.3rem .5rem}.course-card-v3-inner{min-height:120px}.course-card-v3-body{padding:.9rem 1rem}.course-card-v3-arrow{width:36px;font-size:1rem}}@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;animation:none!important}.progress-bar::after{animation:none!important}.active-dot{animation:none!important}}@media (prefers-contrast:high){:root{--border:#b0b8c4;--border-hover:#8e96a8;--shadow-sm:0 2px 8px rgba(12,22,111,.15);--shadow:0 8px 24px rgba(12,22,111,.2)}}.btn-start,.module-button{backface-visibility:hidden}.content-section{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.content-section p{letter-spacing:.01em}.content-section h2,.content-section h3{letter-spacing:-.02em}@media (max-width:767.98px){.course-shell .row.g-4{display:flex;flex-direction:column-reverse}#courseContent>.col-lg-4{order:2}#courseContent>.col-lg-8{order:1}.sidebar-toggle{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--btn);background:#fff;border:1px solid #dfe6f7;border-radius:var(--radius-pill);padding:8px 12px;box-shadow:0 8px 16px rgba(0,18,154,.08)}.sidebar-toggle i{font-size:1.1rem}}.profile-page.dash-main{padding-top:1.25rem;padding-bottom:2.5rem}.dash-hero-panel--profile{align-items:stretch}.dash-hero-panel__banner--profile{background:linear-gradient(135deg,var(--navy) 0,var(--blue) 55%,#8baee8 100%);display:grid;place-items:center;min-height:180px}.dash-profile-avatar{width:5rem;height:5rem;border-radius:50%;display:grid;place-items:center;font-size:2.35rem;color:#fff;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.35);box-shadow:0 8px 24px rgba(12,22,111,.15)}.dash-profile-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.dash-highlight-card{margin-bottom:1rem;padding:1rem 1.15rem;border-radius:16px;background:linear-gradient(135deg,rgba(20,184,166,.1) 0,rgba(6,182,212,.08) 100%);border:1px solid rgba(20,184,166,.2)}.dash-highlight-card__label{display:block;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#0d9488;margin-bottom:.35rem}.dash-highlight-card__text{font-size:var(--text-sm);font-weight:700;color:var(--ink)}.dash-highlight-card__date{font-weight:600;color:var(--ink-muted)}.dash-profile-sections{padding:1.15rem 1.35rem 1.5rem}.dash-profile-sections .profile-section{margin-bottom:0;padding:0;background:0 0;border:0;box-shadow:none}.dash-section-head__ico--pending{background:linear-gradient(145deg,#06b6d4 0,#3b82f6 100%)}.dash-shell-card{border-radius:22px;background:#fff;border:1px solid rgba(66,97,255,.08);box-shadow:0 8px 32px rgba(12,22,111,.06)}.profile-loader.dash-shell-card{padding:3rem 1rem}.profile-error.dash-shell-card{padding:1.25rem 1.35rem;color:#b42318;font-weight:600;font-size:var(--text-sm)}.profile-page{padding-top:1.5rem;padding-bottom:3rem}.profile-hero{background:linear-gradient(135deg,var(--blue) 0,var(--blue-dark) 100%);color:#fff;border-radius:var(--radius-xl);padding:1.5rem 1.75rem;margin-bottom:1.75rem;box-shadow:var(--shadow)}.profile-hero-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.profile-title{font-size:1.5rem;font-weight:800;margin:0 0 .25rem 0;letter-spacing:-.02em}.profile-subtitle{margin:0;opacity:.9;font-size:.9375rem}.profile-actions .btn-profile-hero{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);color:#fff;font-weight:600;padding:.45rem 1rem;border-radius:var(--radius-pill);font-size:.875rem;transition:background .2s,border-color .2s}.profile-actions .btn-profile-hero:hover{background:rgba(255,255,255,.35);border-color:rgba(255,255,255,.7);color:#fff}.profile-content-grid{max-width:1200px;margin:0 auto}.profile-loader{text-align:center;padding:3rem 1rem;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.profile-loader-spinner{width:40px;height:40px;margin:0 auto 1rem;border:3px solid var(--border);border-top-color:var(--btn);border-radius:50%;animation:profile-spin .8s linear infinite}@keyframes profile-spin{to{transform:rotate(360deg)}}.profile-loader-text{margin:0;color:var(--ink-muted);font-size:.9375rem}.profile-stats{margin-bottom:1.5rem}.profile-stat-card{background:var(--bg-card);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);display:flex;align-items:center;gap:1rem}.profile-stat-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:#fff}.profile-stat-icon.completados{background:linear-gradient(135deg,#0d9488 0,#0f766e 100%)}.profile-stat-icon.pendientes{background:linear-gradient(135deg,var(--blue) 0,var(--blue-dark) 100%)}.profile-stat-icon.promedio{background:linear-gradient(135deg,var(--blue) 0,var(--navy) 100%);color:#fff}.profile-stat-num{font-size:1.75rem;font-weight:800;color:var(--ink);line-height:1.1}.profile-stat-label{font-size:.8125rem;color:var(--ink-muted);margin:.25rem 0 0 0}.profile-progress-wrap{max-width:420px}.profile-progress-text{font-size:.9375rem;font-weight:600;color:var(--ink-muted);margin:0}.profile-progress-bar{height:10px;background:var(--border-light);border-radius:var(--radius-pill);overflow:hidden}.profile-progress-fill{height:100%;background:linear-gradient(90deg,var(--blue) 0,var(--blue-dark) 100%);border-radius:var(--radius-pill);transition:width var(--transition-smooth)}.profile-last-course{padding:1rem 1.25rem;background:var(--blue-soft);border-radius:var(--radius);border:1px solid var(--blue-muted)}.profile-last-course-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--blue-dark)}.profile-last-course-info{font-size:.9375rem;font-weight:600;color:var(--ink);margin-top:.25rem}.profile-last-course-date{font-weight:400;color:var(--ink-muted)}.profile-section{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.profile-section-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.profile-section-icon{width:44px;height:44px;border-radius:var(--radius);background:var(--navy-soft);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.profile-section-completados .profile-section-icon{background:#d1fae5;color:#0d9488}.profile-section-pendientes .profile-section-icon{background:var(--blue-soft);color:var(--blue)}.profile-section-certificados .profile-section-icon{background:#fef3c7;color:#b45309}.profile-section-title{font-size:1.125rem;font-weight:700;margin:0 0 .2rem 0;color:var(--ink)}.profile-section-desc{font-size:.8125rem;color:var(--ink-muted);margin:0}.profile-certificados-list{display:flex;flex-direction:column;gap:.5rem}.profile-certificado-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--bg-page);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--ink);text-decoration:none;font-weight:600;font-size:.9375rem;transition:background var(--transition-fast),border-color var(--transition-fast)}.profile-certificado-item:hover{background:var(--blue-soft);border-color:var(--blue-muted);color:var(--ink)}.profile-certificado-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-certificado-item i{color:var(--blue);flex-shrink:0}.profile-card-grid{display:grid;gap:.75rem}.profile-card-completado{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;background:linear-gradient(135deg,#f8fafc 0,#f1f5f9 100%);border:1px solid var(--border-light);border-radius:var(--radius);transition:box-shadow var(--transition-fast),border-color var(--transition-fast);border-left:4px solid #0d9488}.profile-card-completado:hover{box-shadow:var(--shadow-sm);border-color:rgba(13,148,136,.3)}.profile-card-completado-left{min-width:0;flex:1}.profile-card-completado-title{font-weight:600;color:var(--ink);margin:0 0 .35rem 0;font-size:.9375rem}.profile-card-completado-meta{font-size:.8125rem;color:var(--ink-muted);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.6rem}.profile-card-completado-meta i{opacity:.8}.btn-profile-action{display:inline-flex;align-items:center;font-size:.8125rem;font-weight:600;padding:.4rem .85rem;border-radius:var(--radius);text-decoration:none;transition:background .2s,color .2s,border-color .2s;border:1px solid transparent}.btn-profile-action.btn-certificado{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-profile-action.btn-certificado:hover{background:var(--blue-hover);color:#fff;border-color:var(--blue-hover)}.btn-profile-action.btn-iniciar{background:var(--blue-soft);color:var(--blue);border-color:rgba(100,145,227,.35)}.profile-card-completado-score-wrap{display:flex;flex-direction:column;align-items:center;flex-shrink:0;text-align:center}.profile-card-completado-score-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:.2rem}.profile-card-completado-score{font-size:1.25rem;font-weight:800;color:var(--blue-dark);background:var(--blue-soft);padding:.4rem .85rem;border-radius:var(--radius);line-height:1}.profile-card-pendiente{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius);color:inherit;text-decoration:none;transition:box-shadow var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);border-left:4px solid var(--btn)}.profile-card-pendiente:hover{border-color:var(--btn);background:var(--btn-soft);color:var(--ink);box-shadow:var(--shadow-sm)}.profile-card-pendiente:hover .btn-iniciar{background:var(--blue);color:#fff;border-color:var(--blue)}.profile-card-pendiente-left{min-width:0}.profile-card-pendiente-title{font-weight:600;color:var(--ink);margin:0 0 .25rem 0;font-size:.9375rem}.profile-card-pendiente-code{font-size:.75rem;color:var(--ink-muted)}.profile-card-pendiente .btn-iniciar{flex-shrink:0}.profile-empty{text-align:center;padding:2rem 1rem;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-page)}.profile-empty-icon{font-size:2rem;color:var(--ink-light);display:block;margin-bottom:.75rem}.profile-empty-title{font-weight:600;color:var(--ink);margin:0 0 .25rem 0}.profile-empty-text{font-size:.875rem;color:var(--ink-muted);margin:0}.profile-error{padding:1rem 1.25rem;border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.9375rem}@media (max-width:576px){.profile-hero{padding:1.25rem 1rem}.profile-section{padding:1.25rem 1rem}.profile-stat-num{font-size:1.5rem}}.profile-layout-page .profile-error,.profile-layout-page .profile-loader{margin-bottom:1rem}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}.profile-layout__main{display:flex;flex-direction:column;gap:1rem;min-width:0}.profile-layout__aside{display:flex;flex-direction:column;gap:1rem;position:sticky;top:1rem}.profile-panel{background:#fff;border-radius:20px;border:1px solid rgba(66,97,255,.08);box-shadow:0 8px 28px rgba(12,22,111,.05);padding:1.1rem 1.2rem 1.2rem}.profile-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.profile-panel__title{margin:0;font-size:1.05rem;font-weight:800;color:var(--ink)}.profile-panel__sub{margin:.15rem 0 0;font-size:var(--text-xs);font-weight:600;color:var(--ink-muted)}.profile-panel__link{font-size:var(--text-xs);font-weight:800;color:var(--btn);text-decoration:none;white-space:nowrap}.profile-panel__link:hover{text-decoration:underline}.profile-panel__badge{flex-shrink:0;padding:.3rem .65rem;border-radius:999px;font-size:var(--text-xs);font-weight:800;color:var(--navy);background:rgba(124,58,237,.1)}.profile-avance-panel .dash-progress-block{margin-top:.15rem}.profile-avance-panel__head{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.profile-avance-panel__ico{width:2.5rem;height:2.5rem;border-radius:12px;display:grid;place-items:center;background:var(--navy-soft);color:var(--navy);flex-shrink:0;font-size:1.1rem}.profile-avance-panel__titles{flex:1;min-width:0}.profile-avance-panel .dash-progress-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-size:.78rem;font-weight:700;color:var(--ink-muted)}.profile-course-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.profile-course-card{display:flex;flex-direction:column;gap:.35rem;min-height:132px;padding:.9rem 1rem;border-radius:16px;text-decoration:none;color:#fff;box-shadow:0 8px 20px rgba(12,22,111,.12);transition:transform var(--transition-fast);position:relative}.profile-course-card--done{padding-right:3.25rem}.profile-course-card__score{position:absolute;top:.85rem;right:.85rem;width:2.15rem;height:2.15rem;border-radius:50%;display:grid;place-items:center;font-size:.82rem;font-weight:800;color:#fff;background:rgba(255,255,255,.22);border:2px solid rgba(255,255,255,.45)}.profile-course-card:hover{transform:translateY(-2px);color:#fff}.profile-course-card--a{background:linear-gradient(145deg,var(--navy) 0,#00157a 100%)}.profile-course-card--b{background:linear-gradient(145deg,var(--blue) 0,#5280d4 100%)}.profile-course-card--c{background:linear-gradient(145deg,#4ade80 0,#22c55e 100%)}.profile-course-card__tag{font-size:.62rem;font-weight:800;letter-spacing:.04em;opacity:.9}.profile-course-card__title{margin:0;font-size:.92rem;font-weight:800;line-height:1.25}.profile-course-card__meta{font-size:.68rem;font-weight:600;opacity:.92}.profile-course-card__bar{margin-top:auto;height:5px;border-radius:999px;background:rgba(255,255,255,.35);overflow:hidden}.profile-course-card__bar span{display:block;height:100%;border-radius:999px;background:rgba(255,255,255,.9)}.profile-path-step{width:2rem;height:2rem;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:var(--ink-muted);background:#eef2ff;border:2px solid #e0e7ff}.profile-path-step.is-done{color:#fff;background:#22c55e;border-color:#22c55e}.profile-path-step.is-current{color:#fff;background:var(--blue);border-color:var(--blue)}.profile-path-line{flex:1 1 28px;min-width:18px;height:3px;border-radius:999px;background:#e5e7eb}.profile-path-line.is-done{background:linear-gradient(90deg,#22c55e 0,var(--blue) 100%)}.profile-path-flag{width:2rem;height:2rem;flex-shrink:0;border-radius:50%;display:grid;place-items:center;color:var(--navy);background:var(--navy-soft)}.profile-user-card{position:relative;background:#fff;border-radius:20px;border:1px solid rgba(66,97,255,.08);box-shadow:0 8px 28px rgba(12,22,111,.06);padding:0 1rem 1.1rem;text-align:center;overflow:hidden}.profile-user-card__header{height:72px;margin:0 -1rem 0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.2) 0 18%,transparent 19%),radial-gradient(circle at 70% 60%,rgba(255,255,255,.14) 0 22%,transparent 23%),linear-gradient(135deg,var(--navy) 0,var(--blue) 55%,#8baee8 100%)}.profile-user-card__avatar{width:4.5rem;height:4.5rem;margin:-2.25rem auto .65rem;border-radius:18px;display:grid;place-items:center;font-size:1.35rem;font-weight:800;color:var(--navy);background:#fff;border:3px solid #fff;box-shadow:0 8px 20px rgba(12,22,111,.12)}.profile-user-card__name{margin:0;font-size:1rem;font-weight:800;color:var(--ink)}.profile-user-card__email{margin:.2rem 0 .85rem;font-size:var(--text-xs);font-weight:600;color:var(--ink-muted);word-break:break-word}.profile-user-card__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:.25rem}.profile-user-card__stat{padding:.55rem .35rem;border-radius:12px;background:#f8faff;border:1px solid rgba(66,97,255,.08)}.profile-user-card__stat strong{display:block;font-size:1rem;font-weight:800;color:var(--ink);line-height:1.1}.profile-user-card__stat span{display:block;margin-top:.15rem;font-size:.62rem;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.profile-last-chip{margin-bottom:.85rem;padding:.55rem .65rem;border-radius:12px;background:#f8faff;border:1px solid rgba(66,97,255,.08);text-align:left}.profile-last-chip__label{display:block;font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#0d9488;margin-bottom:.2rem}.profile-last-chip__text{font-size:var(--text-xs);font-weight:700;color:var(--ink)}.profile-last-chip__date{font-weight:600;color:var(--ink-muted)}.profile-empty--inline{padding:1.25rem .5rem}@media (max-width:1100px){.profile-layout{grid-template-columns:1fr}.profile-layout__aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.profile-course-strip{grid-template-columns:1fr}.profile-layout__aside{grid-template-columns:1fr}}@keyframes sarFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sarFadeInDown{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes sarSlideUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes sarBounceIn{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.06)}80%{transform:scale(.97)}100%{opacity:1;transform:scale(1)}}.anim-fade-in{animation:sarFadeIn .4s cubic-bezier(.4,0,.2,1) both}.anim-fade-in-down{animation:sarFadeInDown .35s cubic-bezier(.4,0,.2,1) both}.anim-slide-up{animation:sarSlideUp .45s cubic-bezier(.4,0,.2,1) both}.anim-bounce-in{animation:sarBounceIn .6s cubic-bezier(.34,1.56,.64,1) both}.anim-delay-1{animation-delay:.1s}.anim-delay-2{animation-delay:.2s}.anim-delay-3{animation-delay:.3s}.anim-delay-4{animation-delay:.4s}.campus-crm-page .admin-crm-main>.admin-crm-metrics,.campus-crm-page .admin-crm-main>.dash-catalog-panel,.campus-crm-page .admin-crm-main>.dash-continue-section{margin-bottom:2rem}.campus-crm-page .admin-crm-main>.dash-catalog-panel{margin-top:.25rem}.dash-metrics-v2 .dash-metric-sub{display:block;margin-top:.15rem;font-size:.68rem;font-weight:700;color:var(--ink-muted);line-height:1.2}.dash-catalog-panel.dash-shell-card{padding:.75rem 1rem}.dash-catalog-panel{display:flex;flex-direction:column;gap:.45rem}.dash-catalog-panel__search{flex:0 1 11rem;min-width:8.5rem;max-width:13rem;width:auto;padding:.3rem .7rem;border:1px solid rgba(66,97,255,.12);background:#fff}.dash-catalog-panel__search input{font-size:.8rem}.dash-catalog-panel__search i{font-size:.8rem}.dash-catalog-panel__controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dash-catalog-panel__hint{margin:0;font-size:.72rem;font-weight:700;color:var(--ink-muted)}.dash-catalog-type-tabs{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:0}.dash-catalog-tabs{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:0}.dash-catalog-tab{display:inline-flex;align-items:center;gap:.35rem;border:1px solid transparent;background:0 0;color:var(--ink-muted);font-size:.82rem;font-weight:800;padding:.45rem .75rem;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.dash-catalog-tab__count{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:rgba(15,23,42,.06);font-size:.68rem;font-weight:800;color:var(--ink-muted)}.dash-catalog-tab.is-active{color:var(--btn);background:rgba(66,97,255,.1);border-color:rgba(66,97,255,.12)}.dash-catalog-tab.is-active .dash-catalog-tab__count{background:rgba(66,97,255,.15);color:var(--btn)}.dash-catalog-tab:hover:not(.is-active){background:#f1f5f9;color:var(--ink)}.dash-catalog-sort{display:flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:700;color:var(--ink-muted);flex-shrink:0;margin-left:auto}.dash-catalog-sort select{border:1px solid rgba(66,97,255,.15);border-radius:999px;padding:.4rem .85rem;font-size:.75rem;font-weight:700;background:#fff;color:var(--ink);cursor:pointer}.dash-shell-card{background:#fff;border:1px solid rgba(66,97,255,.08);border-radius:20px;padding:1.35rem 1.5rem 1.5rem;box-shadow:0 8px 28px rgba(12,22,111,.05)}.dash-section-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1.15rem}.dash-section-toolbar__title{margin:0;font-size:1.05rem;font-weight:800;color:var(--ink)}.dash-section-toolbar__sub{margin:.15rem 0 0;font-size:.75rem;color:var(--ink-muted);font-weight:600}.dash-section-toolbar__link{border:0;background:0 0;color:var(--btn);font-size:.75rem;font-weight:800;text-decoration:none;cursor:pointer;padding:0}.dash-continue-track-wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem}.dash-continue-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.25rem .15rem .5rem}.dash-completed-item{flex:0 0 min(22rem,88vw);scroll-snap-align:start;min-width:0}.dash-completed-item .course-card-v3-inner{min-height:7.5rem}.dash-completed-item .course-card-v3-title{font-size:.92rem;-webkit-line-clamp:2}.dash-completed-item .course-card-v3-objective{-webkit-line-clamp:2;font-size:.72rem}#coursesGridAvailable{display:flex;flex-direction:column;gap:1.75rem}.dash-cat-block{border:1px solid rgba(66,97,255,.1);border-radius:18px;padding:1.1rem 1.15rem 1.2rem;background:linear-gradient(180deg,#fafbff 0,#fff 100%)}.dash-cat-block__head{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid rgba(66,97,255,.08)}.dash-cat-block__ico{width:2.75rem;height:2.75rem;border-radius:14px;display:grid;place-items:center;font-size:1.15rem;flex-shrink:0;background:#eef2ff;color:#4f46e5}.dash-cat-block--compras .dash-cat-block__ico{background:#ecfdf5;color:#059669}.dash-cat-block--operaciones .dash-cat-block__ico{background:#fff7ed;color:#ea580c}.dash-cat-block--precios_costos .dash-cat-block__ico{background:#fdf4ff;color:var(--blue)}.dash-cat-block--tesoreria .dash-cat-block__ico{background:#eff6ff;color:#2563eb}.dash-cat-block--direccion_adjunta .dash-cat-block__ico{background:#f1f5f9;color:#475569}.dash-cat-block--tecnologia .dash-cat-block__ico{background:#ecfeff;color:#0891b2}.dash-cat-block--recursos_humanos .dash-cat-block__ico{background:#fef2f2;color:#dc2626}.dash-cat-block__name{margin:0;font-size:1rem;font-weight:800;color:var(--ink)}.dash-cat-block__count{margin:.2rem 0 0;font-size:.75rem;font-weight:700;color:var(--ink-muted)}.dash-cat-block__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:.85rem}.dash-pending-card{min-width:0}.dash-pending-card__inner{display:flex;flex-direction:column;align-items:stretch;gap:.45rem;width:100%;min-height:8.5rem;padding:.9rem .95rem .85rem;border-radius:14px;border:1px solid #e2e8f0;background:#fff;text-align:left;color:inherit;cursor:pointer;position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dash-pending-card__inner:hover:not(:disabled){border-color:rgba(66,97,255,.28);box-shadow:0 10px 24px rgba(12,22,111,.07);transform:translateY(-1px)}.dash-pending-card--soon .dash-pending-card__inner{opacity:.72;cursor:not-allowed}.dash-pending-card__type{align-self:flex-start;font-size:.62rem;font-weight:800;letter-spacing:.05em;color:var(--btn);text-transform:uppercase}.dash-pending-card__title{margin:0;font-size:.88rem;font-weight:800;color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-right:1.5rem}.dash-pending-card__obj{margin:0;font-size:.72rem;font-weight:600;color:var(--ink-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.dash-pending-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.35rem;border-top:1px dashed #e2e8f0}.dash-pending-card__meta{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:700;color:var(--ink-muted)}.dash-pending-card__code{font-size:.65rem;font-weight:800;color:#94a3b8;letter-spacing:.02em}.dash-continue-nav{width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(66,97,255,.15);background:#fff;color:var(--ink-muted);display:grid;place-items:center}.dash-continue-card{flex:0 0 17rem;scroll-snap-align:start;border:1px solid rgba(66,97,255,.1);border-radius:16px;padding:.9rem;background:#f8fafc;display:flex;flex-direction:column;gap:.35rem}.dash-continue-card__cat{font-size:.65rem;font-weight:800;color:var(--ink-muted);text-transform:uppercase}.dash-continue-card__type{font-size:.62rem;font-weight:800;letter-spacing:.04em;color:var(--btn)}.dash-continue-card__title{margin:0;font-size:.88rem;font-weight:800;color:var(--ink);line-height:1.25}.dash-continue-card__meta{font-size:.68rem;color:var(--ink-muted);font-weight:600}.dash-continue-card__bar{height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden;margin-top:.15rem}.dash-continue-card__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--navy))}.dash-continue-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.25rem}.dash-continue-card__pct{font-size:.72rem;font-weight:800;color:var(--ink-muted)}.dash-continue-card__btn{border:0;border-radius:999px;padding:.3rem .75rem;font-size:.72rem;font-weight:800;color:#fff;background:var(--btn);cursor:pointer}.dash-cat-row{display:grid;grid-template-columns:11rem 1fr auto;gap:.75rem;align-items:center;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.dash-cat-row:last-child{border-bottom:0}.dash-cat-row__left{display:flex;align-items:center;gap:.55rem;min-width:0}.dash-cat-row__ico{width:2rem;height:2rem;border-radius:10px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;flex-shrink:0}.dash-cat-row__name{margin:0;font-size:.82rem;font-weight:800;color:var(--ink)}.dash-cat-row__count{display:block;font-size:.68rem;color:var(--ink-muted);font-weight:600}.dash-cat-row__courses{display:flex;flex-wrap:wrap;gap:.45rem;min-width:0}.dash-cat-chip{display:flex;flex-direction:column;gap:.1rem;min-width:9rem;max-width:14rem;padding:.55rem .65rem;border-radius:12px;border:1px solid #e2e8f0;background:#fff;text-decoration:none;color:inherit;cursor:pointer}.dash-cat-chip:hover{border-color:rgba(66,97,255,.25);background:#f8fbff}.dash-cat-chip__type{font-size:.58rem;font-weight:800;letter-spacing:.04em;color:var(--btn)}.dash-cat-chip__title{font-size:.75rem;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-cat-chip__meta{font-size:.65rem;color:var(--ink-muted);font-weight:600}.dash-cat-row__toggle{border:0;background:0 0;color:var(--ink-muted);width:2rem;height:2rem;border-radius:8px}.dash-cat-row__toggle:hover{background:#f1f5f9}.dash-cat-row__expanded{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.45rem;padding-top:.35rem}.dash-cta-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem;border-radius:20px;background:linear-gradient(135deg,#eef6ff 0,#e0f2fe 55%,#f8fafc 100%);border:1px solid rgba(66,97,255,.12)}.dash-cta-banner__title{margin:0 0 .25rem;font-size:1.05rem;font-weight:800;color:var(--ink)}.dash-cta-banner__sub{margin:0 0 .75rem;font-size:.8rem;color:var(--ink-muted);font-weight:600}.dash-cta-banner__btn{font-weight:800}.dash-cta-banner__art{width:4.5rem;height:4.5rem;border-radius:50%;background:rgba(255,255,255,.75);display:grid;place-items:center;font-size:2rem;color:var(--btn);flex-shrink:0}@media (max-width:991.98px){.dash-cat-block__grid{grid-template-columns:1fr}.dash-catalog-panel__controls{gap:.4rem}.dash-catalog-panel__search{flex:1 1 100%;max-width:none}.dash-catalog-sort{margin-left:0;width:100%;justify-content:space-between}}@media (prefers-reduced-motion:reduce){.anim-bounce-in,.anim-fade-in,.anim-fade-in-down,.anim-slide-up{animation:none}}.portal-layout-page{display:flex;flex-direction:column;gap:1rem;min-height:0}.portal-area-select{border:1px solid rgba(0,18,154,.12);background:#fff;border-radius:999px;padding:.4rem .85rem;font-size:var(--text-sm);font-weight:700;color:var(--ink);max-width:11rem;flex-shrink:0}.portal-search-hint{margin:-.35rem 0 0;padding:0 .15rem;font-size:var(--text-xs);font-weight:700;color:var(--btn)}.portal-metrics{margin-bottom:0}.portal-metric-btn{border:0;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.portal-metric-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,18,154,.1)}.portal-metric-btn.is-active{outline:2px solid rgba(0,18,154,.25);outline-offset:2px}.portal-content-card{display:flex;flex-direction:column;min-height:0;flex:1;padding:0;overflow:hidden}.portal-content-card .repo-list-wrap{flex:1;overflow:auto;padding:0 1rem;min-height:12rem;max-height:calc(100vh - 17.5rem)}.repo-list-head{display:grid;grid-template-columns:minmax(0,1fr) 6.5rem 5.5rem auto;gap:.5rem;padding:.65rem .55rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);border-bottom:1px solid var(--border-light);position:sticky;top:0;background:#fff;z-index:2}.repo-list{display:flex;flex-direction:column}.repo-row{display:grid;grid-template-columns:minmax(0,1fr) 6.5rem 5.5rem auto;gap:.5rem;align-items:center;padding:.45rem .55rem;border-bottom:1px solid #f1f5f9;font-size:.78rem;transition:background .12s}.repo-row:hover{background:var(--blue-soft)}.repo-row:focus-within{background:var(--navy-soft)}.repo-col-doc{display:flex;align-items:center;gap:.45rem;min-width:0}.repo-row-icon{width:1.75rem;height:1.75rem;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.85rem}.repo-row-icon--proc{background:var(--navy-soft);color:var(--navy)}.repo-row-icon--info{background:var(--blue-soft);color:var(--blue-dark)}.repo-row-icon--pol{background:#dcfce7;color:#12a368}.repo-row-text{min-width:0;display:flex;flex-direction:column;gap:0}.repo-row-title{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.repo-row-meta{font-size:.68rem;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-col-area,.repo-col-type{font-size:.7rem;font-weight:600;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-col-actions{display:flex;align-items:center;gap:.35rem;justify-content:flex-end;flex-wrap:nowrap;flex-shrink:0}.repo-action-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:var(--ink-muted);text-decoration:none;padding:0;line-height:1;transition:border-color .12s,color .12s,background .12s}.repo-action-btn .fa-solid{font-size:.9375rem;pointer-events:none}.repo-action-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.repo-action-btn--primary{background:var(--navy);border-color:var(--navy);color:#fff}.repo-action-btn--primary:hover{background:var(--navy-hover);border-color:var(--navy-hover);color:#fff}.repo-action-btn--danger{color:#dc2626;border-color:#fecaca}.repo-action-btn--danger:hover{background:#fef2f2;border-color:#f87171;color:#b91c1c}.repo-empty{text-align:center;padding:2.5rem 1rem;color:var(--ink-muted);font-size:.85rem}.repo-empty i{font-size:1.75rem;display:block;margin-bottom:.5rem;color:var(--blue)}.repo-foot{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;border-top:1px solid var(--border-light);font-size:.68rem;color:var(--ink-muted);background:#f8fafc;border-radius:0 0 20px 20px}.repo-foot-count{font-weight:700;color:var(--ink)}.portal-viewer iframe{width:100%;min-height:72vh;border:0;border-radius:8px;background:#f8fafc}.doc-chip--area-ventas{background:var(--blue-soft);color:var(--navy)}@media (max-width:991.98px){.portal-content-card .repo-list-wrap{max-height:none}.portal-area-select{max-width:100%;width:100%}}@media (max-width:767.98px){.repo-list-head{display:none}.repo-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:.55rem .4rem}.repo-col-doc{grid-column:1/-1}.repo-col-area{grid-column:1}.repo-col-type{display:none}.repo-col-actions{grid-column:2;grid-row:2}.portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}body:not(.login-page)::after,body:not(.login-page)::before{display:none!important}body.admin-crm-page,body.campus-crm-page,body.course-page{background:#f4f6fa!important;background-image:none!important}body.campus-crm-page .campus-crm-brand-img{filter:none!important}:root{--color-primary:#00129a;--color-primary-dark:#000e7a;--color-secondary:#5b8fd9;--color-bg:#f0f2f7;--color-surface:#ffffff;--color-surface-soft:#f5f7fb;--color-border:#e4e8ef;--color-text:#1a2332;--color-text-muted:#5c6778;--color-text-light:#8b95a5;--color-success:#0d9488;--color-success-soft:#ecfdf5;--sidebar-width:240px;--sidebar-width-course:308px;--radius-card:14px;--radius-input:12px;--radius-btn:10px;--font-weight-title:600;--font-weight-body:500;--cs-sidebar-w:var(--sidebar-width);--cs-bg:var(--color-bg);--cs-bg-card:var(--color-surface);--cs-border:var(--color-border);--cs-text:var(--color-text);--cs-text-muted:var(--color-text-muted);--cs-accent:var(--color-primary);--cs-accent-soft:#eef2fa;--cs-accent-mid:var(--color-secondary)}body.campus-crm-page,body.course-page.campus-crm-page{background:var(--color-bg)!important;font-weight:var(--font-weight-body)}body.campus-crm-page::after,body.campus-crm-page::before,body.course-page::after,body.course-page::before{display:none!important}.campus-crm-page .admin-crm-main,.course-page .admin-crm-main{padding:1.25rem 1.75rem 2rem;max-width:1200px;gap:1rem}.canvas-platform.canvas-course .admin-crm-main,.canvas-platform.canvas-course .course-crm-main{max-width:none!important}.canvas-platform.canvas-course .course-crm-sidebar,.canvas-platform.canvas-course .course-progress-sidebar{width:var(--dash-sidebar,300px)!important;max-width:var(--dash-sidebar,300px)}.campus-crm-page .admin-crm-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.campus-crm-page .admin-crm-sidebar{width:var(--sidebar-width);padding:1.25rem 1rem;background:var(--color-surface);border-right:1px solid var(--color-border);box-shadow:none}.campus-crm-page .admin-crm-sidebar__brand{padding:0 .5rem 1rem;margin-bottom:.5rem;border-bottom:none}.campus-crm-page .admin-crm-sidebar__title{font-size:.9375rem;font-weight:var(--font-weight-title)}.campus-crm-page .admin-crm-sidebar__sub{font-size:.75rem;color:var(--color-text-light)}.campus-crm-page .admin-crm-nav__group{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-light);padding:.75rem .5rem .35rem}.campus-crm-page .admin-crm-nav__link{padding:.5rem .625rem;margin-bottom:2px;font-size:.875rem;font-weight:var(--font-weight-body);color:var(--color-text-muted);border-left:2px solid transparent;border-radius:0 var(--radius-btn) var(--radius-btn) 0}.campus-crm-page .admin-crm-nav__link i{font-size:1rem;opacity:.7}.campus-crm-page .admin-crm-nav__link:hover{background:var(--color-surface-soft);color:var(--color-text)}.campus-crm-page .admin-crm-nav__link.is-active{background:var(--cs-accent-soft);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:600}.campus-crm-page .admin-crm-sidebar__foot{border-top:1px solid var(--color-border);margin-top:auto;padding-top:.75rem}.campus-crm-page .admin-crm-back{font-size:.8125rem;font-weight:var(--font-weight-body);color:var(--color-text-light);padding:.4rem .625rem}.campus-crm-page .admin-crm-back:hover{background:0 0;color:var(--color-text-muted)}.campus-crm-brand-img{filter:none!important;width:4.75rem!important;max-width:4.75rem;margin:0}.admin-crm-topbar,.app-header{min-height:auto;padding:0 0 1rem;margin-bottom:.25rem;border-bottom:none;align-items:flex-start}.admin-crm-topbar__title,.app-header__title{font-size:1.75rem;font-weight:var(--font-weight-title);letter-spacing:-.025em;color:var(--color-text);line-height:1.25}.admin-crm-topbar__sub,.app-header__sub{font-size:.9375rem;font-weight:400;color:var(--color-text-muted);margin-top:.25rem}.admin-crm-topbar__actions{margin-left:auto;align-self:center}.cs-user-pill{height:38px;border-radius:var(--radius-btn);border:1px solid var(--color-border);background:var(--color-surface);font-size:.8125rem;font-weight:600;box-shadow:none}.cs-user-pill__avatar{background:var(--cs-accent-soft);color:var(--color-primary)}.admin-crm-menu-btn{width:38px;height:38px;border-radius:var(--radius-btn);border:1px solid var(--color-border);background:var(--color-surface)}.campus-crm-page .btn-primary,.campus-crm-page .catalog-cta{height:42px;padding:0 1.125rem;font-size:.875rem;font-weight:600;border-radius:var(--radius-btn);box-shadow:none!important;transform:none!important}.campus-crm-page #prevModuleBtn,.campus-crm-page .btn-pill-outline,.course-page .btn-pill-outline{height:42px;padding:0 1rem;font-size:.875rem;font-weight:600;border-radius:var(--radius-btn);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted)}.catalog-cta--continue{background:var(--color-primary)!important;border:1px solid var(--color-primary)!important;color:#fff!important}.catalog-cta--continue:hover:not(:disabled){background:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important}.catalog-cta--start{background:var(--color-surface)!important;color:var(--color-primary)!important;border:1px solid var(--color-border)!important}.catalog-cta--review{background:0 0!important;color:var(--color-text-muted)!important;border:1px solid transparent!important}.academic-home .catalog-stats{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;padding:.75rem 0 1.25rem;margin-bottom:.25rem;border-bottom:1px solid var(--color-border);background:0 0}.academic-home .catalog-stat{background:0 0!important;border:none!important;box-shadow:none!important;padding:0!important;min-width:0}.academic-home .catalog-stat__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);margin-bottom:.2rem}.academic-home .catalog-stat__value{font-size:1.375rem;font-weight:600;color:var(--color-text);line-height:1.2}.academic-home .catalog-stat__value small{font-size:.875rem;font-weight:500;color:var(--color-text-muted)}.academic-home .catalog-stat__progress{min-width:140px}.academic-home .catalog-stat__bar{height:5px;background:#e2e8f0;border-radius:999px}.academic-home .catalog-stat__bar span{background:var(--color-primary)}.academic-home .catalog-stat__pct{font-size:.8125rem;font-weight:600;color:var(--color-primary)}.academic-home .catalog-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:0;margin-bottom:1.25rem;background:0 0;border:none;box-shadow:none}.academic-home .catalog-search{flex:1 1 200px;max-width:320px}.academic-home .catalog-search input{height:42px;border-radius:var(--radius-input);border:1px solid var(--color-border);background:var(--color-surface);font-size:.875rem}.academic-home .catalog-search input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(91,143,217,.12)}.academic-home .catalog-chip{height:36px;padding:0 .875rem;font-size:.8125rem;font-weight:500;border-radius:var(--radius-btn);border:1px solid var(--color-border);background:var(--color-surface)}.academic-home .catalog-chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600}.academic-home .catalog-sort-btn{height:36px;border-radius:var(--radius-btn);border:1px solid var(--color-border);background:var(--color-surface);font-size:.8125rem}.academic-home .catalog-main{background:0 0!important;border:none!important;box-shadow:none!important;padding:0!important}.academic-home .catalog-hint{font-size:.8125rem;font-weight:500;color:var(--color-text-light);margin:0 0 1rem}.academic-home .catalog-cat-block{margin-bottom:2rem}.academic-home .catalog-cat-head{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.academic-home .catalog-cat-ico{width:2rem;height:2rem;border-radius:var(--radius-btn);font-size:.9rem;background:var(--cs-accent-soft)!important;color:var(--color-primary)!important}.academic-home .catalog-cat-name{font-size:.9375rem;font-weight:600;color:var(--color-text)}.academic-home .catalog-cat-count{font-size:.75rem;color:var(--color-text-light)}.academic-home .catalog-cat-rows{gap:0}.academic-home .catalog-row,.campus-crm-page .catalog-row{display:grid!important;grid-template-columns:2.25rem minmax(0,1fr) auto!important;align-items:center;gap:1rem!important;padding:.875rem .25rem!important;background:0 0!important;border:none!important;border-bottom:1px solid var(--color-border)!important;border-radius:0!important;box-shadow:none!important;transition:background .15s ease}.academic-home .catalog-row:last-child,.campus-crm-page .catalog-row:last-child{border-bottom:none!important}.academic-home .catalog-row:hover,.campus-crm-page .catalog-row:hover{background:rgba(255,255,255,.6)!important;box-shadow:none!important}.academic-home .catalog-row__status,.campus-crm-page .catalog-row__status{width:2.25rem;height:2.25rem;font-size:.9375rem;border-radius:50%}.academic-home .catalog-row__status--done{background:var(--color-success-soft);color:var(--color-success)}.academic-home .catalog-row__status--progress{background:var(--cs-accent-soft);color:var(--color-primary)}.academic-home .catalog-row__status--pending{background:var(--color-surface-soft);color:var(--color-text-light)}.academic-home .catalog-row__title,.campus-crm-page .catalog-row__title{font-size:.9375rem!important;font-weight:600!important;color:var(--color-text)!important;white-space:normal!important;line-height:1.35}.academic-home .catalog-row__tags,.campus-crm-page .catalog-row__tags{margin-top:.25rem;gap:.5rem}.academic-home .catalog-tag,.campus-crm-page .catalog-tag{font-size:.75rem;font-weight:500;padding:0;background:0 0!important;color:var(--color-text-muted)!important}.academic-home .catalog-tag--proc,.campus-crm-page .catalog-tag--proc{color:var(--color-success)!important}.academic-home .catalog-tag--pol,.campus-crm-page .catalog-tag--pol{color:var(--color-primary)!important}.academic-home .catalog-tag--meta,.campus-crm-page .catalog-tag--meta{color:var(--color-text-light)!important}.academic-home .catalog-empty{padding:3rem 1rem;background:var(--color-surface);border-radius:var(--radius-card);border:1px dashed var(--color-border)}body.course-page.campus-crm-page .admin-crm-shell{grid-template-columns:var(--sidebar-width-course) minmax(0,1fr)}.course-page .admin-crm-main{max-width:none;padding:1rem 1.5rem 1.5rem}.course-page .course-header-bar{padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--color-border);justify-content:flex-end}.course-page .course-header-bar .admin-crm-menu-btn{margin-right:auto}.course-page .admin-crm-topbar__title{font-size:1rem;font-weight:600;color:var(--color-text-muted)}.course-page .admin-crm-topbar__sub{display:none}.course-page .course-crm-logout{height:38px;padding:0 .75rem;font-size:.8125rem;border-radius:var(--radius-btn);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted)}.course-crm-sidebar,.course-progress-sidebar{width:var(--sidebar-width-course)!important;padding:1rem 1.125rem!important;background:var(--color-surface)!important;border-right:1px solid var(--color-border)!important}.course-page .admin-crm-sidebar__brand{display:flex!important}.course-crm-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;padding:.25rem 0;margin-bottom:1rem;border:none;background:0 0}.course-crm-back:hover{color:var(--color-primary);background:0 0}.course-crm-progress{padding:0 0 1rem;margin-bottom:1rem;background:0 0;border:none;border-bottom:1px solid var(--color-border);border-radius:0}.course-crm-progress__head .admin-crm-nav__group{padding:0;font-size:.6875rem}.course-crm-index{font-size:.6875rem;font-weight:600;padding:.15rem .5rem;background:var(--cs-accent-soft);border:none;border-radius:999px;color:var(--color-primary)}.course-progress-wrap .progress{height:6px;background:#e8ecf2;border-radius:999px;margin-top:.5rem}.course-progress-wrap .progress-bar{background:var(--color-primary)}#courseProgressPct{font-size:.8125rem;font-weight:600;color:var(--color-primary)}.course-progress-count{font-size:.75rem;color:var(--color-text-light)}.course-crm-temario .admin-crm-nav__group{padding:0 0 .5rem;font-size:.6875rem}.course-crm-modules{max-height:calc(100vh - 16rem);overflow-y:auto;padding-right:4px}.course-page .module-button{display:flex;align-items:flex-start;gap:.625rem;width:100%;padding:.5rem .375rem;margin:0;font-size:.8125rem;font-weight:500;line-height:1.35;text-align:left;border:none!important;border-radius:0;background:0 0!important;color:var(--color-text-muted);box-shadow:none!important;position:relative}.course-page .module-button::before{content:"";position:absolute;left:.9375rem;top:1.75rem;bottom:-.5rem;width:1px;background:var(--color-border)}.course-page .module-button:last-child::before{display:none}.course-page .module-button .module-index{width:1.375rem;height:1.375rem;font-size:.6875rem;font-weight:600;border-radius:50%;background:var(--color-surface-soft);color:var(--color-text-muted);border:1px solid var(--color-border);flex-shrink:0;position:relative;z-index:1}.course-page .module-button.active{color:var(--color-primary);font-weight:600;background:0 0!important}.course-page .module-button.active .module-index{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.course-page .module-button.completed{color:var(--color-text)}.course-page .module-button.completed .module-index{background:var(--color-success-soft);color:var(--color-success);border-color:transparent}.course-page .module-button.locked{opacity:1;color:var(--color-text-light);cursor:not-allowed}.course-page .module-button.locked .module-index{background:var(--color-surface-soft);color:var(--color-text-light);border-color:var(--color-border)}.course-page .module-button .module-lock-icon,.course-page .module-button.locked .module-lock-icon{font-size:.75rem;color:var(--color-text-light)}.course-page .module-button:not(.locked):hover{background:var(--color-surface-soft)!important;border-radius:var(--radius-btn)}.course-sidebar-note{font-size:.6875rem;line-height:1.45;color:var(--color-text-light);padding:.75rem 0 0;margin:0;background:0 0;border:none;border-top:1px solid var(--color-border)}.course-page #courseHeader{margin-bottom:1rem!important}.course-page .course-hero{background:0 0!important;border:none!important;box-shadow:none!important;padding:0 0 1rem!important;margin:0!important;border-bottom:1px solid var(--color-border)!important;border-radius:0!important}.course-page .course-hero::before{display:none!important}.course-page .course-header-badges{margin-bottom:.35rem;gap:.5rem}.course-page .content-header-pill,.course-page .course-code-pill{font-size:.6875rem!important;font-weight:500!important;padding:.15rem .5rem!important;border-radius:4px!important;background:var(--color-surface-soft)!important;border:none!important;color:var(--color-text-muted)!important;box-shadow:none!important}.course-page .course-title-main{font-size:1.375rem!important;font-weight:600!important;color:var(--color-text)!important;margin-bottom:.35rem!important;line-height:1.3!important}.course-page .meta-chip-row{gap:.75rem;margin-top:.25rem}.course-page .chip-pill{font-size:.75rem!important;font-weight:500!important;padding:0!important;border:none!important;background:0 0!important;color:var(--color-text-muted)!important}.course-page .course-audience-block{margin-top:.75rem;padding:.625rem .75rem;background:var(--color-surface-soft);border-radius:var(--radius-input);border:none}.course-page .course-info-icon{width:1.25rem;height:1.25rem;font-size:.75rem;background:0 0;color:var(--color-text-light)}.course-page .course-info-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.course-page .course-audience-text{font-size:.8125rem;color:var(--color-text-muted)}.course-page .learning-panel{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-card)!important;box-shadow:none!important;padding:1.5rem!important}.course-page .course-topic-head{border-bottom:1px solid var(--color-border);padding-bottom:.75rem;margin-bottom:1rem}.course-page .course-topic-label{font-size:.6875rem;font-weight:600;letter-spacing:.05em;color:var(--color-text-light)}.course-page #currentModuleTitle{font-size:1.125rem;font-weight:600;color:var(--color-text)}.course-page #quizPanel{margin-top:1.5rem;padding:1rem!important;background:var(--color-surface-soft)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-input)!important}.course-page .course-nav-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.course-page #finalScorePanel{background:var(--color-success-soft)!important;border:1px solid #a7f3d0!important;border-radius:var(--radius-input)!important}.portal-page .admin-crm-main,.profile-page .admin-crm-main,.ranking-page .admin-crm-main{max-width:1200px}.portal-page .repo-card,.profile-page .profile-card,.ranking-page .ranking-card{border-radius:var(--radius-card);border:1px solid var(--color-border);box-shadow:none}@media (max-width:1100px){.academic-home .catalog-stats{gap:1rem 1.5rem}}@media (max-width:992px){.course-crm-sidebar,.course-progress-sidebar{width:min(300px,88vw)!important}.campus-crm-page .admin-crm-main,.course-page .admin-crm-main{padding:1rem}}@media (max-width:576px){.admin-crm-topbar__title{font-size:1.375rem}.academic-home .catalog-row__actions{grid-column:1/-1}.course-page .course-title-main{font-size:1.125rem!important}}.canvas-platform{--dash-primary:#00129a;--dash-primary-hover:#000e7a;--dash-bg:#f5f7fa;--dash-surface:#ffffff;--dash-border:#e2e8f0;--dash-text:#1e293b;--dash-muted:#64748b;--dash-soft:#f8fafc;--dash-success:#059669;--dash-sidebar:260px;--dash-radius:12px;--dash-radius-lg:16px;--dash-shadow:0 1px 3px rgba(15, 23, 42, 0.06);--dash-gap:1.25rem;font-family:Inter,system-ui,sans-serif}.canvas-platform.campus-crm-page,body.canvas-platform.canvas-admin{background:var(--dash-bg)!important;background-image:none!important}.canvas-platform .admin-crm-shell{grid-template-columns:var(--dash-sidebar) minmax(0,1fr);min-height:100vh}.canvas-platform .admin-crm-main{max-width:none!important;padding:1.5rem 2rem 2.5rem;gap:var(--dash-gap)}.canvas-platform .admin-crm-sidebar{display:flex;flex-direction:column;width:var(--dash-sidebar);padding:1rem .75rem 1.25rem;background:var(--dash-surface);border-right:1px solid var(--dash-border);position:sticky;top:0;height:100vh;overflow-y:auto}.canvas-platform .dash-sidebar__brand{display:flex;align-items:center;gap:.625rem;padding:.25rem .5rem 1.125rem;margin-bottom:.25rem;border-bottom:1px solid var(--dash-border)}.canvas-platform .dash-sidebar__brand:has(.campus-crm-brand-img){flex-direction:row;align-items:center;text-align:left;gap:.625rem;padding:.5rem .625rem .875rem}.canvas-platform .dash-sidebar__brand:has(.campus-crm-brand-img)>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:auto;flex:1 1 auto;min-width:0}.canvas-platform .admin-crm-sidebar__logo:has(.campus-crm-brand-img){width:auto;flex:0 0 4.75rem;height:auto;padding:0;border-radius:0;background:0 0!important;box-shadow:none;display:flex;align-items:center;justify-content:flex-start}.canvas-platform .campus-crm-brand-img{width:4.75rem!important;height:auto;max-width:4.75rem;object-fit:contain;filter:none!important;display:block;margin:0}.canvas-platform .admin-crm-sidebar__title{display:block;font-size:.9375rem;font-weight:700;color:var(--dash-text);line-height:1.25}.canvas-platform .admin-crm-sidebar__sub{display:block;margin-top:.125rem;font-size:.75rem;font-weight:500;color:#94a3b8;line-height:1.3}.canvas-platform .admin-crm-sidebar__logo{flex-shrink:0}.canvas-platform .admin-crm-nav.dash-sidebar__nav,.canvas-platform .dash-sidebar__nav{display:flex;flex-direction:column;gap:.125rem;flex:1;min-height:0}.canvas-platform .admin-crm-nav__group{font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;padding:1.125rem .625rem .375rem;margin:0}.canvas-platform .admin-crm-nav__group:first-of-type{padding-top:.5rem}.canvas-platform .admin-crm-nav__link{display:flex;align-items:center;gap:.625rem;width:100%;min-height:40px;padding:.5rem .75rem;margin:0;border:none;border-left:2px solid transparent;border-radius:14px;background:0 0;font-size:.875rem;font-weight:500;color:#64748b;text-decoration:none;cursor:pointer;text-align:left;transition:background 150ms ease,color 150ms ease,border-color 150ms ease}.canvas-platform .admin-crm-nav__link i{font-size:1.0625rem;width:1.125rem;text-align:center;color:#94a3b8;opacity:1;flex-shrink:0;transition:color 150ms ease}.canvas-platform .admin-crm-nav__link:hover{background:var(--dash-soft);color:var(--dash-text)}.canvas-platform .admin-crm-nav__link:hover i{color:var(--dash-muted)}.canvas-platform .admin-crm-nav__link.is-active{background:#eef2ff;border-left-color:var(--dash-primary);color:var(--dash-primary);font-weight:600}.canvas-platform .admin-crm-nav__link.is-active i{color:var(--dash-primary)}.canvas-platform .dash-sidebar__foot{margin-top:auto;padding-top:1rem;border-top:1px solid var(--dash-border);display:flex;flex-direction:column;gap:.125rem}.canvas-platform .admin-crm-nav__link--secondary{color:var(--dash-muted);font-size:.8125rem;font-weight:500;min-height:36px}.canvas-platform .admin-crm-nav__link--secondary:hover{color:var(--dash-text)}.canvas-platform .admin-crm-nav__link--admin{justify-content:flex-start;gap:.5rem;margin-top:.125rem;padding:.6875rem .875rem;min-height:44px;font-size:.8125rem;font-weight:700;letter-spacing:.01em;color:#fff!important;background:linear-gradient(135deg,#00129a 0,#1d4ed8 100%);border:1px solid rgba(0,18,154,.28);border-left:1px solid rgba(0,18,154,.28);border-radius:10px;box-shadow:0 4px 14px rgba(0,18,154,.24);transition:background 150ms ease,box-shadow 150ms ease,transform 150ms ease}.canvas-platform .admin-crm-nav__link--admin i{color:#bfdbfe;font-size:1.0625rem}.canvas-platform .admin-crm-nav__link--admin:focus-visible,.canvas-platform .admin-crm-nav__link--admin:hover{color:#fff!important;background:linear-gradient(135deg,#000f7a 0,#1e40af 100%);border-color:rgba(0,18,154,.45);box-shadow:0 6px 18px rgba(0,18,154,.32);transform:translateY(-1px)}.canvas-platform .admin-crm-nav__link--admin:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.35),0 6px 18px rgba(0,18,154,.32)}.canvas-platform .admin-nav-badge{margin-left:auto;padding:.125rem .4375rem;font-size:.625rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#00129a;background:#fff;border-radius:999px;line-height:1.2}.canvas-platform .admin-crm-nav__link--logout{color:#94a3b8;font-size:.8125rem;font-weight:500;min-height:36px}.canvas-platform .admin-crm-nav__link--logout:hover{color:var(--dash-muted);background:var(--dash-soft)}.canvas-platform .admin-crm-back{display:flex;align-items:center;gap:.625rem;width:100%;min-height:36px;padding:.5rem .75rem;border:none;border-radius:14px;background:0 0;font-size:.8125rem;font-weight:500;color:var(--dash-muted);text-decoration:none;cursor:pointer;text-align:left;transition:background 150ms ease,color 150ms ease}.canvas-platform .admin-crm-back:hover{background:var(--dash-soft);color:var(--dash-text)}@media (max-width:992px){.canvas-platform .admin-crm-sidebar{position:fixed;left:0;top:0;z-index:1040;transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--dash-shadow)}.canvas-platform .admin-crm-shell.is-sidebar-open .admin-crm-sidebar{transform:translateX(0)}}.dash-header{display:flex;align-items:center;gap:1rem;padding-bottom:.25rem;flex-wrap:wrap}.dash-header__menu{width:40px;height:40px;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface)}.dash-header__copy{flex:1;min-width:0}.dash-header__eyebrow{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.dash-header__eyebrow a{color:inherit;text-decoration:none}.dash-header__title{margin:.15rem 0 0;font-size:1.5rem;font-weight:700;color:var(--dash-text);letter-spacing:-.02em;line-height:1.2}.dash-header__sub{margin:.35rem 0 0;font-size:.9375rem;color:var(--dash-muted);font-weight:500}.dash-header__profile{color:inherit;height:40px;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface);box-shadow:var(--dash-shadow);margin-left:auto}.dash-toolbar--header{flex:0 1 auto;margin:0;padding:.35rem .5rem;background:0 0;border:none;box-shadow:none}.dash-header__actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.dash-header__actions .dash-header__profile{margin-left:0}.dash-header__nav{display:flex;align-items:center;gap:.25rem;margin-left:auto;margin-right:.5rem}.dash-header__nav a{padding:.4rem .75rem;font-size:.8125rem;font-weight:600;color:var(--dash-muted);text-decoration:none;border-radius:8px}.dash-header__nav a:hover{background:var(--dash-soft);color:var(--dash-text)}.dash-header--course .dash-header__profile{margin-left:0}.dash-header--course .course-crm-logout{flex-shrink:0}.canvas-platform.canvas-course .dash-header{margin-bottom:.5rem}.dash-progress-bar,.dash-progress__track,.profile-page .dash-progress-bar{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;max-width:420px}.dash-progress-fill,.dash-progress__fill,.profile-page .dash-progress-fill{display:block;height:100%;background:var(--dash-primary);border-radius:999px;transition:width .4s ease}.dash-progress__label{display:block;margin-top:.4rem;font-size:.8125rem;font-weight:600;color:var(--dash-primary)}.canvas-panel{padding:1.25rem 1.5rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow);margin-bottom:var(--dash-gap)}.canvas-panel__title{margin:0;font-size:1.0625rem;font-weight:700;color:var(--dash-text)}.canvas-panel__sub{margin:.25rem 0 0;font-size:.8125rem;color:var(--dash-muted)}.canvas-platform .catalog-cta,.dash-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 1.125rem;font-size:.875rem;font-weight:600;border-radius:var(--dash-radius);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease}.canvas-platform .catalog-cta--continue,.dash-btn--primary{background:var(--dash-primary)!important;border-color:var(--dash-primary)!important;color:#fff!important;box-shadow:none!important}.dash-btn--primary:hover{background:var(--dash-primary-hover);border-color:var(--dash-primary-hover);color:#fff}.canvas-platform .catalog-cta--start,.dash-btn--secondary{background:var(--dash-surface)!important;border:1px solid var(--dash-border)!important;color:var(--dash-primary)!important}.dash-btn--ghost{background:0 0;border-color:transparent;color:var(--dash-muted)}.dash-btn:disabled{opacity:.55;cursor:not-allowed}.dash-btn--icon{width:40px;padding:0;justify-content:center}.canvas-platform .course-card[role=button]{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.canvas-platform .course-card[role=button]:hover{border-color:var(--dash-primary);box-shadow:0 2px 8px rgba(0,18,154,.08)}.course-card__link{color:var(--dash-primary);font-size:1.125rem}.canvas-platform .pf-kpi-row,.canvas-platform .portal-metrics,.canvas-platform .ranking-page-metrics,.dash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem}.canvas-platform .admin-crm-metric,.canvas-platform .pf-kpi,.stat-card{padding:1rem 1.125rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow)}.canvas-platform .admin-crm-metric__label,.canvas-platform .pf-kpi__label,.stat-card__label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:.35rem}.canvas-platform .admin-crm-metric__value,.canvas-platform .pf-kpi__value,.stat-card__value{font-size:1.375rem;font-weight:700;color:var(--dash-text);line-height:1.1}.dash-section__title{margin:0;font-size:1.0625rem;font-weight:700;color:var(--dash-text)}.dash-section__sub{margin:.25rem 0 0;font-size:.8125rem;color:var(--dash-muted)}.dash-section__head{margin-bottom:.875rem}.course-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.125rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow);min-height:10rem}.course-card__progress{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.course-card__progress span{display:block;height:100%;background:var(--dash-primary)}.badge-status{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:6px}.badge-status--progress{background:#eef2ff;color:var(--dash-primary)}.badge-status--pending{background:#f1f5f9;color:#64748b}.badge-status--done{background:#ecfdf5;color:var(--dash-success)}.canvas-platform .dash-toolbar{display:flex;flex-direction:column;gap:.625rem;padding:.875rem 1rem;margin-bottom:1rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow)}.canvas-platform .dash-toolbar .catalog-search{display:flex;align-items:center;gap:.5rem;width:100%;height:42px;padding:0 .875rem;margin:0;flex:none;max-width:none;background:var(--dash-soft);border:1px solid var(--dash-border);border-radius:10px;box-shadow:none;transition:border-color 150ms ease,background 150ms ease,box-shadow 150ms ease}.canvas-platform .dash-toolbar .catalog-search:focus-within{background:var(--dash-surface);border-color:rgba(0,18,154,.35);box-shadow:0 0 0 3px rgba(0,18,154,.07)}.canvas-platform .dash-toolbar .catalog-search i{flex-shrink:0;font-size:.9375rem;color:#94a3b8}.canvas-platform .dash-toolbar .catalog-search input{flex:1;min-width:0;width:100%;height:auto;padding:0;margin:0;border:none!important;border-radius:0!important;background:0 0!important;outline:0;box-shadow:none!important;font-size:.875rem;font-weight:500;color:var(--dash-text)}.canvas-platform .dash-toolbar .catalog-search input::placeholder{color:#94a3b8;font-weight:400}.canvas-platform .dash-toolbar .dash-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;min-width:0}.canvas-platform .dash-toolbar .dash-chip-row--secondary{padding-top:.625rem;margin-top:.125rem;border-top:1px solid var(--dash-border)}.canvas-platform .dash-toolbar__filters{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;width:100%}.canvas-platform .dash-toolbar--single-row{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.75rem;padding:.75rem 1rem;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.canvas-platform .dash-toolbar--single-row .catalog-search{flex:0 0 220px;width:220px;min-width:160px;max-width:260px;height:42px}.canvas-platform .dash-toolbar--single-row .dash-toolbar__filters{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;gap:.625rem;width:auto;min-width:0}.canvas-platform .dash-toolbar--single-row .dash-chip-row{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:.375rem}.canvas-platform .dash-toolbar--single-row .dash-filter-field{flex:0 0 auto;margin-left:auto;white-space:nowrap}.canvas-platform .dash-toolbar--single-row .dash-filter-select{min-width:10.5rem}@media (max-width:900px){.canvas-platform .dash-toolbar--single-row .dash-filter-field{width:auto;margin-left:auto}.canvas-platform .dash-toolbar--single-row .dash-filter-select-wrap{flex:0 0 auto}.canvas-platform .dash-toolbar--single-row .dash-filter-select{width:auto}}.canvas-platform .dash-filter-field{display:flex;align-items:center;gap:.5rem;margin-left:auto}.canvas-platform .dash-filter-field__label{font-size:.8125rem;font-weight:600;color:var(--dash-muted);white-space:nowrap;margin:0}.canvas-platform .dash-filter-select-wrap{position:relative;display:flex;align-items:center}.canvas-platform .dash-filter-select{appearance:none;height:32px;min-width:11rem;max-width:100%;padding:0 2rem 0 .75rem;border:1px solid var(--dash-border);border-radius:999px;background:var(--dash-surface);font-size:.8125rem;font-weight:600;color:var(--dash-text);cursor:pointer;transition:border-color 150ms ease,box-shadow 150ms ease}.canvas-platform .dash-filter-select:focus{outline:0;border-color:rgba(0,18,154,.35);box-shadow:0 0 0 3px rgba(0,18,154,.07)}.canvas-platform .dash-filter-select:disabled{opacity:.5;cursor:not-allowed}.canvas-platform .dash-filter-select__chev{position:absolute;right:.65rem;pointer-events:none;font-size:.75rem;color:var(--dash-muted)}@media (max-width:639px){.canvas-platform .dash-filter-field{margin-left:0;width:100%}.canvas-platform .dash-filter-select-wrap{flex:1}.canvas-platform .dash-filter-select{width:100%}}.canvas-platform .dash-toolbar .catalog-chip{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 .75rem;font-size:.8125rem;font-weight:600;line-height:1;border:1px solid var(--dash-border);border-radius:999px;background:var(--dash-surface);color:var(--dash-muted);white-space:nowrap;cursor:pointer;transition:background 150ms ease,border-color 150ms ease,color 150ms ease}.canvas-platform .dash-toolbar .catalog-chip:hover:not(.is-active):not(.is-disabled){border-color:#cbd5e1;color:var(--dash-text);background:var(--dash-soft)}.canvas-platform .dash-toolbar .catalog-chip.is-active{background:#eef2ff;border-color:rgba(0,18,154,.22);color:var(--dash-primary)}.canvas-platform .dash-toolbar .catalog-chip.is-disabled{opacity:.38;cursor:not-allowed}@media (min-width:640px){.canvas-platform .dash-toolbar--inline{flex-direction:row;flex-wrap:wrap;align-items:center}.canvas-platform .dash-toolbar--inline .catalog-search{flex:1 1 200px;max-width:280px}.canvas-platform .dash-toolbar--inline .dash-chip-row{flex:1 1 auto}}@media (max-width:639px){.canvas-platform .dash-toolbar .dash-chip-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.125rem}.canvas-platform .dash-toolbar .dash-chip-row::-webkit-scrollbar{display:none}}.canvas-platform .catalog-chip,.canvas-platform .pf-chip{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 .875rem;font-size:.8125rem;font-weight:600;border:1px solid var(--dash-border);border-radius:8px;background:var(--dash-surface);color:var(--dash-muted);white-space:nowrap;cursor:pointer;transition:background 150ms ease,border-color 150ms ease,color 150ms ease}.canvas-platform .catalog-chip:hover:not(.is-active):not(.is-disabled),.canvas-platform .pf-chip:hover:not(.is-active){border-color:#cbd5e1;color:var(--dash-text)}.canvas-platform .catalog-chip.is-active,.canvas-platform .pf-chip.is-active{background:var(--dash-primary);border-color:var(--dash-primary);color:#fff}.canvas-platform .catalog-chip.is-disabled{opacity:.38;cursor:not-allowed}.canvas-platform .campus-crm-search input,.canvas-platform .catalog-search input{height:38px;border:1px solid var(--dash-border);border-radius:8px;font-size:.875rem;background:var(--dash-surface)}.canvas-platform .profile-panel{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow);padding:1.25rem 1.5rem;margin-bottom:var(--dash-gap)}.canvas-platform .profile-panel__title{font-size:1.0625rem;font-weight:700}.canvas-platform .profile-user-card{border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow)}.canvas-platform .empty-state,.canvas-platform .profile-empty{padding:1.5rem;text-align:center;background:var(--dash-soft);border:1px dashed var(--dash-border);border-radius:var(--dash-radius)}.canvas-platform .portal-content-card,.canvas-platform .repo-list-wrap{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow)}.canvas-platform .doc-filter-bar{margin-bottom:var(--dash-gap)}.canvas-platform .ranking-card,.canvas-platform .ranking-table-wrap{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow)}.canvas-platform .profile-error,.canvas-platform .profile-loader{border-radius:var(--dash-radius)}.announcement-card{padding:1rem 1.125rem;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--dash-radius)}.announcement-card__title{margin:0 0 .5rem;font-size:.875rem;font-weight:700;color:#92400e}.announcement-card__text{margin:0;font-size:.8125rem;line-height:1.5;color:#78350f}.announcement-card__link{display:inline-block;margin-top:.625rem;font-size:.8125rem;font-weight:600;color:#b45309;text-decoration:none}.pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.pending-item{padding:.75rem .875rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow)}@media (max-width:1100px){.canvas-platform .pf-kpi-row,.canvas-platform .portal-metrics,.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:768px){.canvas-platform .admin-crm-main{padding:1rem}.dash-header__nav{display:none!important}}.learning-summary{margin-bottom:var(--dash-gap)}.learning-summary__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.learning-summary__meta{margin:.35rem 0 0;font-size:.9375rem;color:var(--dash-muted)}.learning-summary__actions{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}.learning-summary__progress{margin-bottom:1.25rem}.learning-summary__stats{margin-bottom:1.25rem}.learning-summary__stats.dash-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.learning-summary__courses{margin-bottom:.75rem}.calendar-placeholder{padding:1rem 1.125rem;background:var(--dash-soft);border:1px dashed var(--dash-border);border-radius:var(--dash-radius);font-size:.8125rem;color:var(--dash-muted)}.calendar-placeholder__item{display:flex;align-items:center;gap:.625rem;padding:.5rem 0}.calendar-placeholder__item+.calendar-placeholder__item{border-top:1px solid var(--dash-border)}.profile-academic-strip__row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.canvas-platform .pf-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))}.canvas-login.login-page{background:var(--dash-bg,#f5f7fa);font-family:Inter,system-ui,sans-serif}.canvas-login .topbar{background:#fff;border-bottom:1px solid var(--dash-border,#e2e8f0)}.canvas-login .btn-start{background:var(--dash-primary,#00129a)!important;border-color:var(--dash-primary,#00129a)!important}.canvas-platform.canvas-admin .admin-crm-metrics--dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:.875rem}.canvas-platform.canvas-admin .admin-crm-metrics--executive{grid-template-columns:repeat(6,minmax(0,1fr))}.canvas-platform.canvas-admin .admin-crm-metric{position:relative;min-height:auto;padding:.875rem 1rem;border-radius:var(--dash-radius-lg);text-align:left;cursor:pointer;transition:border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease}.canvas-platform.canvas-admin .admin-crm-metric__ico{display:none}.canvas-platform.canvas-admin .admin-crm-metric__label{display:block;margin:0 0 .35rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--dash-muted);opacity:1}.canvas-platform.canvas-admin .admin-crm-metric__value{display:block;font-size:1.5rem;font-weight:800;line-height:1.1;color:var(--dash-text)}.canvas-platform.canvas-admin .admin-crm-metric__hint{display:block;margin-top:.35rem;font-size:.75rem;font-weight:500;color:var(--dash-muted);opacity:1}.canvas-platform.canvas-admin .admin-crm-metric--a,.canvas-platform.canvas-admin .admin-crm-metric--b,.canvas-platform.canvas-admin .admin-crm-metric--c,.canvas-platform.canvas-admin .admin-crm-metric--d{color:var(--dash-text);background:var(--dash-surface);border:1px solid var(--dash-border);box-shadow:var(--dash-shadow)}.canvas-platform.canvas-admin .admin-crm-metric--a{background:var(--dash-soft);border-color:#dbeafe}.canvas-platform.canvas-admin .admin-crm-metric--a .admin-crm-metric__value{color:var(--dash-primary)}.canvas-platform.canvas-admin .admin-crm-metric--b{background:#f0fdf4;border-color:#bbf7d0}.canvas-platform.canvas-admin .admin-crm-metric--b .admin-crm-metric__value{color:#15803d}.canvas-platform.canvas-admin .admin-crm-metric--b .admin-crm-metric__hint{color:#16a34a}.canvas-platform.canvas-admin .admin-crm-metric--warn{background:#fff7ed;border-color:#fed7aa}.canvas-platform.canvas-admin .admin-crm-metric--warn .admin-crm-metric__value{color:#c2410c}.canvas-platform.canvas-admin .admin-crm-metric--warn .admin-crm-metric__label{color:#9a3412}.canvas-platform.canvas-admin .admin-crm-metric--warn .admin-crm-metric__hint{color:#ea580c;font-weight:600}.canvas-platform.canvas-admin .admin-crm-metric--e{background:#f5f3ff;border-color:#ddd6fe}.canvas-platform.canvas-admin .admin-crm-metric--e .admin-crm-metric__value{color:#6d28d9}.canvas-platform.canvas-admin .admin-crm-metric--f{background:#f8fafc;border-color:#e2e8f0}.canvas-platform.canvas-admin .admin-crm-metric--f .admin-crm-metric__value{color:var(--dash-text)}.canvas-platform.canvas-admin .admin-crm-metrics--section,.canvas-platform.canvas-admin .admin-tab-panel--overview>.admin-crm-metrics--dashboard{margin-bottom:.875rem}.canvas-platform.canvas-admin .admin-tab-panel--overview{display:flex;flex-direction:column;gap:.875rem}.canvas-platform.canvas-admin .admin-tab-panel--overview .admin-crm-metrics--dashboard,.canvas-platform.canvas-admin .admin-tab-panel--overview .admin-exec-grid{margin-bottom:0}.canvas-platform.canvas-admin .admin-crm-content .admin-overview-card.canvas-panel{background:var(--dash-surface);border:1px solid var(--dash-border);box-shadow:var(--dash-shadow);margin-bottom:0;padding:0}.canvas-platform.canvas-admin .admin-crm-metric--static{cursor:default}.canvas-platform.canvas-admin .admin-crm-metric:not(.admin-crm-metric--static):hover{transform:translateY(-1px);border-color:#cbd5e1}.canvas-platform.canvas-admin .admin-crm-metric--a:not(.admin-crm-metric--static):hover{background:#eef2ff;border-color:#bfdbfe}.canvas-platform.canvas-admin .admin-crm-metric--b:not(.admin-crm-metric--static):hover{background:#ecfdf5;border-color:#86efac}.canvas-platform.canvas-admin .admin-crm-metric--warn:not(.admin-crm-metric--static):hover{background:#ffedd5;border-color:#fdba74}.canvas-platform.canvas-admin .admin-crm-metric.is-kpi-active{box-shadow:0 0 0 2px var(--dash-primary)}.canvas-platform.canvas-admin .admin-actions-bar{display:flex;flex-wrap:wrap;gap:.5rem}.canvas-platform.canvas-admin .admin-action-btn{display:inline-flex;align-items:center;gap:.4rem;height:34px;padding:0 .75rem;border:1px solid var(--dash-border);border-radius:999px;background:var(--dash-surface);color:var(--dash-text);font-size:.8125rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background 150ms ease,border-color 150ms ease,color 150ms ease}.canvas-platform.canvas-admin .admin-action-btn:hover{background:var(--dash-soft);border-color:#cbd5e1;color:var(--dash-primary)}.canvas-platform.canvas-admin .admin-action-btn i{color:var(--dash-primary);font-size:.9375rem}.canvas-platform.canvas-admin .admin-overview-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}.canvas-platform.canvas-admin .admin-overview-card{padding:0;overflow:hidden}.canvas-platform.canvas-admin .admin-overview-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--dash-border)}.canvas-platform.canvas-admin .admin-overview-card__title{margin:0;font-size:.9375rem;font-weight:700;color:var(--dash-text)}.canvas-platform.canvas-admin .admin-overview-card__link{border:0;background:0 0;padding:0;font-size:.8125rem;font-weight:600;color:var(--dash-primary);cursor:pointer;text-decoration:none}.canvas-platform.canvas-admin .admin-rank-list__row,.canvas-platform.canvas-admin .admin-rank-table__head{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.75rem}.canvas-platform.canvas-admin .admin-rank-table__head{padding:.5rem 1rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dash-muted);background:var(--dash-soft);border-bottom:1px solid var(--dash-border)}.canvas-platform.canvas-admin .admin-rank-list{list-style:none;margin:0;padding:0}.canvas-platform.canvas-admin .admin-rank-list__row{padding:.625rem 1rem;border-bottom:1px solid var(--dash-border);font-size:.8125rem}.canvas-platform.canvas-admin .admin-rank-list__row:last-child{border-bottom:none}.canvas-platform.canvas-admin .admin-rank-list__pos{font-weight:700;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-rank-list__name{font-weight:600;color:var(--dash-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-platform.canvas-admin .admin-rank-list__stat{font-weight:700;color:var(--dash-primary);text-align:right}.canvas-platform.canvas-admin .admin-rank-list__empty{padding:.875rem 1rem;font-size:.8125rem;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-doc-list{list-style:none;margin:0;padding:0}.canvas-platform.canvas-admin .admin-doc-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem 1rem;border-bottom:1px solid var(--dash-border);font-size:.8125rem}.canvas-platform.canvas-admin .admin-doc-row:last-child{border-bottom:none}.canvas-platform.canvas-admin .admin-doc-row__name{font-weight:600;color:var(--dash-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-platform.canvas-admin .admin-doc-row__meta{flex-shrink:0;font-size:.75rem;font-weight:600;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-empty-compact{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;padding:.875rem 1rem}.canvas-platform.canvas-admin .admin-empty-compact p{margin:0;font-size:.8125rem;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-exec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}.canvas-platform.canvas-admin .admin-exec-grid--strategic{margin-top:0}.canvas-platform.canvas-admin .admin-overview-card--secondary{margin-bottom:0}.canvas-platform.canvas-admin .admin-exec-kpi-matrix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem;padding:.875rem 1rem 1rem}.canvas-platform.canvas-admin .admin-exec-kpi-item{padding:.75rem .875rem;border:1px solid var(--dash-border);border-radius:12px;background:var(--dash-soft)}.canvas-platform.canvas-admin .admin-exec-kpi-item--warn{background:#fff7ed;border-color:#fed7aa}.canvas-platform.canvas-admin .admin-exec-kpi-item__label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-exec-kpi-item__value{display:block;margin-top:.3rem;font-size:1.125rem;font-weight:800;line-height:1.2;color:var(--dash-text)}.canvas-platform.canvas-admin .admin-exec-kpi-item__value--text{font-size:.875rem;font-weight:700;line-height:1.35}.canvas-platform.canvas-admin .admin-exec-kpi-item__hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-crm-metrics--section-users{grid-template-columns:repeat(3,minmax(0,1fr))}.canvas-platform.canvas-admin .admin-crm-metrics--section-users .admin-crm-metric{width:100%;border:1px solid var(--dash-border);text-align:left;font:inherit}.canvas-platform.canvas-admin .admin-crm-metrics--section-users .admin-crm-metric.is-kpi-active{box-shadow:0 0 0 2px var(--dash-primary)}.canvas-platform.canvas-admin .admin-crm-metrics--section-users .admin-crm-metric--c:not(.admin-crm-metric--static):hover{background:#fff7ed;border-color:#fdba74}.canvas-platform.canvas-admin .admin-exec-alerts__badge{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .625rem;border-radius:999px;background:#fef3c7;border:1px solid #fcd34d;font-size:.6875rem;font-weight:700;color:#92400e;white-space:nowrap}.canvas-platform.canvas-admin .admin-exec-alerts{list-style:none;margin:0;padding:.75rem 1rem;display:grid;gap:.5rem}.canvas-platform.canvas-admin .admin-exec-alert{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem .875rem;border:1px solid var(--dash-border);border-radius:12px;background:#fff}.canvas-platform.canvas-admin .admin-exec-alert--high{border-color:#fecaca;background:#fef2f2}.canvas-platform.canvas-admin .admin-exec-alert--medium{border-color:#fed7aa;background:#fff7ed}.canvas-platform.canvas-admin .admin-exec-alert--ok{border-color:#bbf7d0;background:#f0fdf4}.canvas-platform.canvas-admin .admin-exec-alert__icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;flex-shrink:0;font-size:.9375rem}.canvas-platform.canvas-admin .admin-exec-alert--high .admin-exec-alert__icon{background:#fee2e2;color:#dc2626}.canvas-platform.canvas-admin .admin-exec-alert--medium .admin-exec-alert__icon{background:#ffedd5;color:#ea580c}.canvas-platform.canvas-admin .admin-exec-alert--ok .admin-exec-alert__icon{background:#dcfce7;color:#16a34a}.canvas-platform.canvas-admin .admin-exec-alert__body{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;min-width:0}.canvas-platform.canvas-admin .admin-exec-alert__value{font-size:1.0625rem;font-weight:800;line-height:1.2;color:var(--dash-text)}.canvas-platform.canvas-admin .admin-exec-alert__text{font-size:.8125rem;line-height:1.45;color:#78350f}.canvas-platform.canvas-admin .admin-exec-alert--high .admin-exec-alert__text{color:#991b1b}.canvas-platform.canvas-admin .admin-exec-alert--ok .admin-exec-alert__text{color:#166534;font-weight:600}.canvas-platform.canvas-admin .admin-exec-alerts-panel{background:#fffbeb;border-color:#fde68a}.canvas-platform.canvas-admin .admin-exec-alerts-panel .admin-overview-card__head{border-bottom-color:#fde68a}.canvas-platform.canvas-admin .admin-exec-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem 1rem;border-top:1px solid #fde68a;background:rgba(255,255,255,.55)}.canvas-platform.canvas-admin .admin-exec-actions .dash-btn--secondary{background:#fff!important;border-color:#fcd34d!important;color:#92400e!important}.canvas-platform.canvas-admin .admin-exec-actions .dash-btn--ghost{color:#92400e;font-weight:600}.canvas-platform.canvas-admin .admin-exec-area-list__row,.canvas-platform.canvas-admin .admin-exec-area-table__head{display:grid;grid-template-columns:1.4fr repeat(4,minmax(3rem,.7fr));align-items:center;gap:.5rem}.canvas-platform.canvas-admin .admin-exec-area-table__head{padding:.5rem 1rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dash-muted);background:var(--dash-soft);border-bottom:1px solid var(--dash-border)}.canvas-platform.canvas-admin .admin-exec-area-list{list-style:none;margin:0;padding:0}.canvas-platform.canvas-admin .admin-exec-area-list__row{padding:.625rem 1rem;border-bottom:1px solid var(--dash-border);font-size:.8125rem}.canvas-platform.canvas-admin .admin-exec-area-list__row:last-child{border-bottom:none}.canvas-platform.canvas-admin .admin-exec-area-list__row--risk{background:#fffbeb}.canvas-platform.canvas-admin .admin-exec-area-list__name{font-weight:600;color:var(--dash-text)}.canvas-platform.canvas-admin .admin-exec-area-list__empty{padding:.875rem 1rem;font-size:.8125rem;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-overview-card__head--stack{align-items:flex-start}.canvas-platform.canvas-admin .admin-overview-card__sub{margin:.25rem 0 0;font-size:.8125rem;font-weight:500;color:var(--dash-muted);line-height:1.45}.canvas-platform.canvas-admin .admin-exec-progress{display:grid;gap:.875rem;padding:.875rem 1rem 1rem}.canvas-platform.canvas-admin .admin-exec-progress__intro{margin:0;font-size:.8125rem;line-height:1.5;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-exec-progress__intro strong{color:var(--dash-text)}.canvas-platform.canvas-admin .admin-exec-progress__stack{display:flex;width:100%;height:12px;overflow:hidden;border-radius:999px;background:#e2e8f0}.canvas-platform.canvas-admin .admin-exec-progress__stack-seg{display:block;height:100%;min-width:0}.canvas-platform.canvas-admin .admin-exec-progress__stack-seg--pending{background:#f97316}.canvas-platform.canvas-admin .admin-exec-progress__stack-seg--progress{background:#2563eb}.canvas-platform.canvas-admin .admin-exec-progress__stack-seg--done{background:#16a34a}.canvas-platform.canvas-admin .admin-exec-progress__legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;font-size:.75rem;font-weight:600;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-exec-progress__dot{display:inline-block;width:.5rem;height:.5rem;margin-right:.35rem;border-radius:999px;vertical-align:middle}.canvas-platform.canvas-admin .admin-exec-progress__dot--pending{background:#f97316}.canvas-platform.canvas-admin .admin-exec-progress__dot--progress{background:#2563eb}.canvas-platform.canvas-admin .admin-exec-progress__dot--done{background:#16a34a}.canvas-platform.canvas-admin .admin-exec-progress__item{padding:.75rem .875rem;border:1px solid var(--dash-border);border-radius:12px;background:var(--dash-soft)}.canvas-platform.canvas-admin .admin-exec-progress__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.canvas-platform.canvas-admin .admin-exec-progress__copy{min-width:0}.canvas-platform.canvas-admin .admin-exec-progress__label{display:block;font-size:.875rem;font-weight:700;color:var(--dash-text)}.canvas-platform.canvas-admin .admin-exec-progress__desc{display:block;margin-top:.15rem;font-size:.75rem;line-height:1.4;color:var(--dash-muted)}.canvas-platform.canvas-admin .admin-exec-progress__stat{flex-shrink:0;text-align:right}.canvas-platform.canvas-admin .admin-exec-progress__stat strong{display:block;font-size:1.125rem;font-weight:800;line-height:1.1;color:var(--dash-text)}.canvas-platform.canvas-admin .admin-exec-progress__stat span{display:block;margin-top:.15rem;font-size:.6875rem;font-weight:600;color:var(--dash-muted);white-space:nowrap}.canvas-platform.canvas-admin .admin-exec-progress__track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.canvas-platform.canvas-admin .admin-exec-progress__fill{display:block;height:100%;border-radius:inherit}.canvas-platform.canvas-admin .admin-exec-progress__fill--pending{background:#f97316}.canvas-platform.canvas-admin .admin-exec-progress__fill--progress{background:#2563eb}.canvas-platform.canvas-admin .admin-exec-progress__fill--done{background:#16a34a}@media (max-width:1200px){.canvas-platform.canvas-admin .admin-crm-metrics--executive{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:992px){.canvas-platform.canvas-admin .admin-crm-metrics--dashboard,.canvas-platform.canvas-admin .admin-exec-grid,.canvas-platform.canvas-admin .admin-overview-split{grid-template-columns:1fr}.canvas-platform.canvas-admin .admin-exec-kpi-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.canvas-platform.canvas-admin .admin-crm-metrics--dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-platform.canvas-admin .admin-actions-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.canvas-platform.canvas-admin .admin-action-btn{justify-content:center}}.canvas-platform .dash-header__actions{gap:.5rem}.canvas-platform .dash-header__actions #logoutBtn,.canvas-platform .dash-header__actions #rankingPageRefresh,.canvas-platform .dash-header__actions .dash-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:40px;min-height:40px;padding:0 1rem;font-size:.875rem;font-weight:600;line-height:1;border-radius:var(--dash-radius);white-space:nowrap}.canvas-platform .dash-header__actions #logoutBtn i,.canvas-platform .dash-header__actions #rankingPageRefresh i,.canvas-platform .dash-header__actions .dash-btn i{font-size:.9375rem;line-height:1}.canvas-platform .dash-header__actions .cs-user-pill{display:inline-flex;align-items:center;gap:.5rem;height:40px;min-height:40px;padding:0 .875rem 0 .375rem;font-size:.875rem;font-weight:600;line-height:1;border-radius:var(--dash-radius);border:1px solid var(--dash-border);background:var(--dash-surface);box-shadow:var(--dash-shadow);max-width:220px;color:var(--dash-text)}.canvas-platform .dash-header__actions .cs-user-pill__avatar{width:1.625rem;height:1.625rem;font-size:.8125rem}.canvas-platform .dash-header__actions .cs-user-pill__name{font-size:inherit;font-weight:inherit}.canvas-platform .dash-header__actions #logoutBtn,.canvas-platform .dash-header__actions .dash-btn--logout{border:1px solid #fecaca!important;background:#fef2f2!important;color:#b91c1c!important}.canvas-platform .dash-header__actions #logoutBtn:hover,.canvas-platform .dash-header__actions .dash-btn--logout:hover{background:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important}.canvas-platform.canvas-admin .admin-crm-topbar,.canvas-platform.canvas-admin .dash-header{margin-bottom:.5rem}.canvas-platform.canvas-admin .dash-header__tab-actions{gap:.5rem}.canvas-platform.canvas-admin .dash-header__actions #logoutBtnCrm,.canvas-platform.canvas-admin .dash-header__actions #sidebarDownloadExcel{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:40px;min-height:40px;padding:0 1rem;font-size:.875rem;font-weight:600;line-height:1;border-radius:var(--dash-radius);white-space:nowrap}.canvas-platform.canvas-admin .dash-header__actions #logoutBtnCrm i,.canvas-platform.canvas-admin .dash-header__actions #sidebarDownloadExcel i{font-size:.9375rem;line-height:1}.canvas-platform.canvas-admin #sidebarDownloadExcel{border:1px solid var(--dash-border)!important;background:var(--dash-surface)!important;color:var(--dash-primary)!important}.canvas-platform.canvas-admin #sidebarDownloadExcel:hover{background:var(--dash-soft)!important;border-color:#cbd5e1!important;color:var(--dash-primary)!important}.canvas-platform.canvas-admin #logoutBtnCrm{border:1px solid #fecaca!important;background:#fef2f2!important;color:#b91c1c!important}.canvas-platform.canvas-admin #logoutBtnCrm:hover{background:#fee2e2!important;border-color:#fca5a5!important;color:#991b1b!important}.canvas-platform.canvas-admin .dash-header__profile.cs-user-pill{display:inline-flex;align-items:center;gap:.5rem;height:40px;min-height:40px;padding:0 .875rem 0 .375rem;font-size:.875rem;font-weight:600;line-height:1;border-radius:var(--dash-radius);border:1px solid var(--dash-border);background:var(--dash-surface);box-shadow:var(--dash-shadow);max-width:220px;color:var(--dash-text)}.canvas-platform.canvas-admin .dash-header__profile .cs-user-pill__avatar{width:1.625rem;height:1.625rem;font-size:.8125rem}.canvas-platform.canvas-admin .dash-header__profile .cs-user-pill__name{font-size:inherit;font-weight:inherit}.canvas-platform.canvas-admin .admin-crm-metric{box-shadow:var(--dash-shadow)}.modal-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1rem}.modal-form-actions__btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:7.75rem;height:40px;padding:0 1.125rem;font-size:.875rem;font-weight:600;line-height:1;white-space:nowrap}.modal-form-actions__btn i{font-size:.9375rem;line-height:1}@media (max-width:768px){.learning-summary__stats.dash-stats{grid-template-columns:1fr}}.canvas-dashboard{--dash-primary:#00129a;--dash-primary-hover:#000e7a;--dash-bg:#f5f7fa;--dash-surface:#ffffff;--dash-border:#e2e8f0;--dash-text:#1e293b;--dash-muted:#64748b;--dash-soft:#f8fafc;--dash-success:#059669;--dash-sidebar:260px;--dash-radius:12px;--dash-radius-lg:16px;--dash-shadow:0 1px 3px rgba(15, 23, 42, 0.06);--dash-gap:1.25rem;font-family:Inter,system-ui,sans-serif}.canvas-dashboard.campus-crm-page{background:var(--dash-bg)!important}.canvas-dashboard .admin-crm-shell{grid-template-columns:var(--dash-sidebar) minmax(0,1fr);min-height:100vh}.canvas-dashboard .admin-crm-main{max-width:none!important;padding:1.5rem 2rem 2.5rem;gap:var(--dash-gap)}.dash-header{display:flex;align-items:center;gap:1rem;padding-bottom:.25rem}.dash-header__menu{width:40px;height:40px;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface)}.dash-header__copy{flex:1;min-width:0}.dash-header__eyebrow{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.dash-header__title{margin:.15rem 0 0;font-size:1.5rem;font-weight:700;color:var(--dash-text);letter-spacing:-.02em;line-height:1.2}.dash-header__profile{color:inherit;height:40px;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface);box-shadow:var(--dash-shadow)}.dash-progress__track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden;max-width:420px}.dash-progress__fill{display:block;height:100%;background:var(--dash-primary);border-radius:999px;transition:width .4s ease}.dash-progress__label{display:block;margin-top:.4rem;font-size:.8125rem;font-weight:600;color:var(--dash-primary)}.dash-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 1.125rem;font-size:.875rem;font-weight:600;border-radius:var(--dash-radius);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease}.dash-btn--primary{background:var(--dash-primary);border-color:var(--dash-primary);color:#fff}.dash-btn--primary:hover{background:var(--dash-primary-hover);border-color:var(--dash-primary-hover);color:#fff}.dash-btn--secondary{background:var(--dash-surface);border-color:var(--dash-border);color:var(--dash-text)}.dash-btn--secondary:hover{background:var(--dash-soft);color:var(--dash-text)}.dash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem}.stat-card{padding:1rem 1.125rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow)}.stat-card__label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:.35rem}.stat-card__value{font-size:1.375rem;font-weight:700;color:var(--dash-text);line-height:1.1}.stat-card__value small{font-size:.875rem;font-weight:500;color:var(--dash-muted)}.dash-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--dash-gap);align-items:start}.dash-section{margin-bottom:var(--dash-gap)}.dash-section__head{margin-bottom:.875rem}.dash-section__title{margin:0;font-size:1.0625rem;font-weight:700;color:var(--dash-text)}.dash-section__sub{margin:.25rem 0 0;font-size:.8125rem;color:var(--dash-muted)}.dash-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.875rem}.course-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.125rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow);min-height:10rem}.course-card__head{display:flex;gap:.75rem;align-items:flex-start}.course-card__icon{width:2.25rem;height:2.25rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;color:var(--dash-primary);flex-shrink:0}.course-card__title{margin:0;font-size:.9375rem;font-weight:700;color:var(--dash-text);line-height:1.35}.course-card__meta{font-size:.75rem;color:var(--dash-muted);margin-top:.2rem}.course-card__progress{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.course-card__progress span{display:block;height:100%;background:var(--dash-primary);border-radius:999px}.course-card__footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto}.badge-status{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:6px}.badge-status--progress{background:#eef2ff;color:var(--dash-primary)}.badge-status--pending{background:#f1f5f9;color:#64748b}.badge-status--done{background:#ecfdf5;color:var(--dash-success)}.canvas-dashboard .dash-section--catalog{display:flex;flex-direction:column;gap:var(--space-3,.75rem);min-width:0}.canvas-catalog-page .catalog-filters{display:flex;flex-direction:column;gap:.625rem;padding:.75rem 1rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg,12px);box-shadow:var(--shadow-sm,0 1px 2px rgba(15,23,42,.04))}.canvas-catalog-page .catalog-filters__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.canvas-catalog-page .catalog-filters__row--type{gap:.625rem}.canvas-catalog-page .catalog-filters__row--areas{flex-wrap:wrap;gap:.375rem}.canvas-catalog-page .catalog-filters__search{display:flex;align-items:center;gap:.5rem;flex:1 1 12rem;min-width:0;height:40px;max-width:none;padding:0 .875rem;background:#f8fafc;border:1px solid var(--dash-border);border-radius:10px;transition:border-color 150ms ease,box-shadow 150ms ease,background 150ms ease}.canvas-catalog-page .catalog-filters__search:focus-within{background:var(--dash-surface);border-color:rgba(0,18,154,.35);box-shadow:0 0 0 3px rgba(0,18,154,.08)}.canvas-catalog-page .catalog-filters__search i{flex-shrink:0;font-size:.875rem;color:var(--dash-muted)}.canvas-catalog-page .catalog-filters__search input{flex:1;min-width:0;width:100%;height:100%;padding:0;border:none;background:0 0;font-size:.875rem;color:var(--dash-text);outline:0}.canvas-catalog-page .catalog-filters__search input::placeholder{color:#94a3b8}.canvas-catalog-page .catalog-filters__pill-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;flex:0 1 auto;min-width:0}.canvas-catalog-page .catalog-filters__row--type .catalog-filters__pill-row{flex-shrink:0}.canvas-catalog-page .catalog-filter-pill{height:28px;padding:0 .625rem;border:1px solid var(--dash-border);border-radius:999px;background:var(--dash-surface);font-size:.75rem;font-weight:600;color:var(--dash-muted);white-space:nowrap;cursor:pointer;transition:border-color 150ms ease,color 150ms ease,background 150ms ease}.canvas-catalog-page .catalog-filter-pill:hover:not(.is-active):not(.is-disabled){border-color:#cbd5e1;color:var(--dash-text);background:#f8fafc}.canvas-catalog-page .catalog-filter-pill.is-active{border-color:var(--dash-primary);background:var(--dash-primary);color:#fff}.canvas-catalog-page .catalog-filter-pill.is-disabled{opacity:.38;cursor:not-allowed}.canvas-dashboard .catalog-filters{display:flex;flex-direction:column;gap:.875rem}.canvas-dashboard .catalog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3,.75rem);margin-bottom:0;padding:0;background:0 0;border:none}.canvas-dashboard .catalog-search--compact{flex:1 1 auto;width:100%;max-width:none;min-width:0;display:flex;align-items:center;gap:.5rem;height:46px;padding:0 .875rem;background:#f8fafc;border:1px solid var(--dash-border);border-radius:var(--radius-md,10px);box-shadow:none;transition:border-color var(--transition-fast,150ms ease),box-shadow var(--transition-fast,150ms ease),background var(--transition-fast,150ms ease)}.canvas-dashboard .catalog-filters .catalog-search--compact{background:#f8fafc}.canvas-dashboard .catalog-filters .catalog-search--compact:focus-within{background:var(--dash-surface)}.canvas-dashboard .catalog-search--compact:focus-within{border-color:rgba(0,18,154,.35);box-shadow:0 0 0 3px rgba(0,18,154,.08)}.canvas-dashboard .catalog-search--compact i{flex-shrink:0;font-size:.9375rem;color:var(--dash-muted)}.canvas-dashboard .catalog-search--compact input{flex:1;min-width:0;height:100%;padding:0;border:none;background:0 0;font-size:var(--text-sm,.875rem);color:var(--dash-text);outline:0}.canvas-dashboard .catalog-search--compact input::placeholder{color:#94a3b8}.canvas-dashboard .catalog-type-tabs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.2rem;background:var(--dash-soft);border:1px solid var(--dash-border);border-radius:var(--radius-md,10px)}.canvas-dashboard .catalog-type-tab{height:36px;padding:0 .75rem;border:none;border-radius:7px;background:0 0;font-size:.8125rem;font-weight:600;color:var(--dash-muted);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast,150ms ease),color var(--transition-fast,150ms ease)}.canvas-dashboard .catalog-type-tab:hover:not(.is-active){color:var(--dash-text);background:rgba(255,255,255,.7)}.canvas-dashboard .catalog-type-tab.is-active{background:var(--dash-surface);color:var(--dash-primary);box-shadow:var(--shadow-sm,0 1px 2px rgba(15,23,42,.06))}.canvas-dashboard .catalog-area-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin:0;padding:0;min-width:0}.canvas-dashboard .catalog-area-chip{height:28px;padding:0 .625rem;border:1px solid var(--dash-border);border-radius:999px;background:var(--dash-surface);font-size:.75rem;font-weight:600;color:var(--dash-muted);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast,150ms ease),color var(--transition-fast,150ms ease),background var(--transition-fast,150ms ease)}.canvas-dashboard .catalog-area-chip:hover:not(.is-active){border-color:#cbd5e1;color:var(--dash-text)}.canvas-dashboard .catalog-area-chip.is-active{border-color:var(--dash-primary);background:#eef2ff;color:var(--dash-primary)}.canvas-dashboard .catalog-content-panel{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow);overflow:hidden}.canvas-dashboard .catalog-list-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding:1rem 1.25rem;background:linear-gradient(180deg,#fafbfd 0,var(--dash-surface) 100%);border-bottom:1px solid var(--dash-border)}.canvas-dashboard .catalog-list-header__title{margin:0;font-family:var(--font-heading, "Nunito", sans-serif);font-size:1.0625rem;font-weight:700;color:var(--dash-text)}.canvas-dashboard .catalog-list-header__meta{font-size:.8125rem;font-weight:600;color:var(--dash-muted)}.canvas-dashboard .catalog-course-list-wrap{min-width:0}.canvas-dashboard .course-list{display:flex;flex-direction:column;min-width:0}.canvas-dashboard .catalog-empty-state{padding:2.5rem 1.25rem;text-align:center}.canvas-dashboard .catalog-empty-state__title{margin:0 0 .35rem;font-size:.9375rem;font-weight:700;color:var(--dash-text)}.canvas-dashboard .catalog-empty-state__desc{margin:0;font-size:.8125rem;color:var(--dash-muted)}.dash-toolbar.catalog-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;padding:.75rem;margin-bottom:1rem;background:var(--dash-soft);border:1px solid var(--dash-border);border-radius:var(--dash-radius)}.canvas-dashboard .dash-toolbar .catalog-search{flex:none;width:100%;max-width:none}.canvas-dashboard .catalog-search{flex:0 1 260px;max-width:260px}.canvas-dashboard .catalog-search input{height:38px;border:1px solid var(--dash-border);border-radius:8px;font-size:.875rem;background:var(--dash-surface)}.canvas-dashboard .catalog-chips{display:flex;flex-wrap:wrap;gap:.375rem;flex:1}.canvas-dashboard .dash-chip-row{display:flex;flex-wrap:wrap;gap:.375rem}.canvas-dashboard .catalog-chip{height:38px;padding:0 .875rem;font-size:.8125rem;font-weight:600;border:1px solid var(--dash-border);border-radius:8px;background:var(--dash-surface);color:var(--dash-muted)}.canvas-dashboard .catalog-chip.is-active{background:var(--dash-primary);border-color:var(--dash-primary);color:#fff}.canvas-dashboard .catalog-sort-btn{height:38px;margin-left:auto;padding:0 .75rem;border:1px solid var(--dash-border);border-radius:8px;font-size:.8125rem;background:var(--dash-surface)}.canvas-dashboard .catalog-content-panel .catalog-row,.canvas-dashboard .catalog-content-panel .catalog-row:hover{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:.875rem 1rem!important;padding:.9375rem 1.25rem!important;margin:0!important;background:0 0!important;border:none!important;border-bottom:1px solid rgba(226,232,240,.85)!important;border-radius:0!important;box-shadow:none!important;transition:background var(--transition-fast,150ms ease)}.canvas-dashboard .catalog-content-panel .catalog-row:last-child{border-bottom:none!important}.canvas-dashboard .catalog-content-panel .catalog-row:hover{background:#f8fafc!important}.canvas-dashboard .catalog-row__status{width:2.125rem;height:2.125rem;font-size:.875rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.canvas-dashboard .catalog-row__status--progress{background:#eef2ff;color:var(--dash-primary)}.canvas-dashboard .catalog-row__status--done{background:#ecfdf5;color:var(--dash-success)}.canvas-dashboard .catalog-row__status--pending{background:#f1f5f9;color:#94a3b8}.canvas-dashboard .catalog-row__body{min-width:0}.canvas-dashboard .catalog-row__title{font-size:.9375rem!important;font-weight:600!important;margin:0!important;line-height:1.35;color:var(--dash-text)}.canvas-dashboard .catalog-row__tags{display:flex;flex-wrap:wrap;align-items:center;margin-top:.35rem!important;gap:.375rem .625rem!important}.canvas-dashboard .catalog-content-panel .catalog-tag{font-size:.75rem!important;font-weight:500!important;padding:0!important;background:0 0!important;border:none!important;color:var(--dash-muted)!important}.canvas-dashboard .catalog-tag--cat{padding:.15rem .5rem!important;border-radius:999px!important;background:#eff6ff!important;color:#1d4ed8!important}.canvas-dashboard .catalog-tag--status{padding:.15rem .5rem!important;border-radius:999px!important;font-weight:600!important}.canvas-dashboard .catalog-tag--status-progress{background:#eef2ff!important;color:var(--dash-primary)!important}.canvas-dashboard .catalog-tag--status-done{background:#ecfdf5!important;color:var(--dash-success)!important}.canvas-dashboard .catalog-tag--status-pending{background:#f1f5f9!important;color:#64748b!important}.canvas-dashboard .catalog-row__actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-shrink:0}.canvas-dashboard .catalog-cta{height:36px!important;min-width:5.5rem;padding:0 1rem!important;font-size:.8125rem!important;font-weight:600!important;border-radius:8px!important;border:1px solid transparent;white-space:nowrap}.canvas-dashboard .catalog-cta--continue{background:var(--dash-primary)!important;border-color:var(--dash-primary)!important;color:#fff!important;box-shadow:none!important}.canvas-dashboard .catalog-cta--start{background:var(--dash-surface)!important;border-color:var(--dash-border)!important;color:var(--dash-primary)!important}.canvas-dashboard .catalog-cta--review{background:#ecfdf5!important;border-color:#a7f3d0!important;color:var(--dash-success)!important}.canvas-dashboard .catalog-cat-block{margin-bottom:1.5rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);overflow:hidden;box-shadow:var(--dash-shadow)}.canvas-dashboard .catalog-cat-head{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;margin:0;background:var(--dash-soft);border-bottom:1px solid var(--dash-border)}.canvas-dashboard .catalog-cat-head>div{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.canvas-dashboard .catalog-cat-ico{width:2rem;height:2rem;border-radius:8px;font-size:.9375rem;background:#eef2ff!important;color:var(--dash-primary)!important}.canvas-dashboard .catalog-cat-name{font-size:.9375rem;font-weight:700;margin:0}.canvas-dashboard .catalog-cat-count{font-size:.8125rem;color:var(--dash-muted);margin:0}.canvas-dashboard .catalog-cat-rows{display:flex;flex-direction:column}.canvas-dashboard .catalog-row,.canvas-dashboard.academic-home .catalog-row{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:.875rem 1rem!important;padding:.875rem 1.25rem!important;margin:0!important;background:0 0!important;border:none!important;border-bottom:1px solid var(--dash-border)!important;border-radius:0!important;box-shadow:none!important}.canvas-dashboard .catalog-row:last-child{border-bottom:none!important}.canvas-dashboard .catalog-row:hover{background:var(--dash-soft)!important}.canvas-dashboard .catalog-row__status{width:2rem;height:2rem;font-size:.875rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.canvas-dashboard .catalog-row__status--progress{background:#eef2ff;color:var(--dash-primary)}.canvas-dashboard .catalog-row__status--done{background:#ecfdf5;color:var(--dash-success)}.canvas-dashboard .catalog-row__status--pending{background:#f1f5f9;color:#94a3b8}.canvas-dashboard .catalog-row__title{font-size:.9375rem!important;font-weight:600!important;margin:0!important}.canvas-dashboard .catalog-row__tags{margin-top:.2rem!important;gap:.5rem!important}.canvas-dashboard .catalog-tag{font-size:.75rem!important;font-weight:500!important;padding:0!important;background:0 0!important;border:none!important;color:var(--dash-muted)!important}.canvas-dashboard .catalog-cta{height:36px!important;padding:0 1rem!important;font-size:.8125rem!important;font-weight:600!important;border-radius:8px!important}.canvas-dashboard .catalog-cta--continue{background:var(--dash-primary)!important;border-color:var(--dash-primary)!important;color:#fff!important;box-shadow:none!important}.canvas-dashboard .catalog-cta--start{background:var(--dash-surface)!important;border:1px solid var(--dash-border)!important;color:var(--dash-primary)!important}.pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.pending-item{padding:.75rem .875rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow)}.pending-item__title{margin:0;font-size:.8125rem;font-weight:600;color:var(--dash-text);line-height:1.35}.pending-item__meta{margin:.25rem 0 0;font-size:.75rem;color:var(--dash-muted)}.pending-item__badge{display:inline-block;margin-top:.35rem;font-size:.6875rem;font-weight:700;color:#b45309;background:#fffbeb;padding:.15rem .4rem;border-radius:4px}.announcement-card{padding:1rem 1.125rem;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--dash-radius)}.announcement-card__title{margin:0 0 .5rem;font-size:.875rem;font-weight:700;color:#92400e}.announcement-card__text{margin:0;font-size:.8125rem;line-height:1.5;color:#78350f}.announcement-card__link{display:inline-block;margin-top:.625rem;font-size:.8125rem;font-weight:600;color:#b45309;text-decoration:none}.announcement-card__link:hover{text-decoration:underline}.empty-state{padding:1.5rem 1rem;text-align:center;background:var(--dash-soft);border:1px dashed var(--dash-border);border-radius:var(--dash-radius)}.empty-state__icon{font-size:1.75rem;color:#94a3b8;margin-bottom:.5rem}.empty-state__title{margin:0;font-size:.9375rem;font-weight:600;color:var(--dash-text)}.empty-state__desc{margin:.35rem 0 0;font-size:.8125rem;color:var(--dash-muted)}@media (max-width:1100px){.dash-grid{grid-template-columns:1fr}.dash-grid__aside{display:grid;grid-template-columns:1fr 1fr;gap:var(--dash-gap)}}@media (max-width:768px){.canvas-dashboard .admin-crm-main{padding:1rem}.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid__aside{grid-template-columns:1fr}.canvas-catalog-page .catalog-filters{padding:.625rem .75rem}.canvas-catalog-page .catalog-filters__row--type{flex-direction:column;align-items:stretch}.canvas-catalog-page .catalog-filters__row--areas,.canvas-catalog-page .catalog-filters__row--type .catalog-filters__pill-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.125rem}.canvas-catalog-page .catalog-filters__row--areas::-webkit-scrollbar,.canvas-catalog-page .catalog-filters__row--type .catalog-filters__pill-row::-webkit-scrollbar{display:none}.canvas-dashboard .catalog-toolbar{flex-direction:column;align-items:stretch;gap:.625rem}.canvas-dashboard .catalog-search--compact{flex:1 1 auto;max-width:none;width:100%}.canvas-dashboard .catalog-type-tabs{width:100%;justify-content:stretch}.canvas-dashboard .catalog-type-tab{flex:1 1 0;text-align:center;padding-inline:.5rem}.canvas-dashboard .catalog-area-chips{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.15rem;margin-inline:-.25rem;padding-inline:.25rem}.canvas-dashboard .catalog-area-chips::-webkit-scrollbar{display:none}.canvas-dashboard .catalog-list-header{flex-direction:column;align-items:flex-start;gap:.25rem}.canvas-dashboard .catalog-content-panel .catalog-row{grid-template-columns:1fr!important;gap:.75rem!important;padding:1rem!important;border-bottom:1px solid rgba(226,232,240,.85)!important;border-radius:0!important}.canvas-dashboard .catalog-content-panel .catalog-row__status{display:none}.canvas-dashboard .catalog-content-panel .catalog-row__actions{grid-column:1/-1;justify-content:stretch}.canvas-dashboard .catalog-content-panel .catalog-cta{width:100%;justify-content:center}.dash-toolbar.catalog-filters{flex-direction:column;align-items:stretch}.canvas-dashboard .catalog-search{max-width:none;flex:1 1 auto}.canvas-dashboard .catalog-sort-btn{margin-left:0;align-self:flex-start}.canvas-dashboard .catalog-row{grid-template-columns:auto 1fr!important}.canvas-dashboard .catalog-row__actions{grid-column:1/-1;justify-content:flex-end}}@media (max-width:480px){.dash-stats{grid-template-columns:1fr}}.dash-hero-compact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;margin-bottom:var(--dash-gap)}.dash-stats--campus{margin-bottom:var(--dash-gap)}.dash-grid--campus{margin-bottom:var(--dash-gap)}.canvas-catalog-page .catalog-hero-banner{display:block;flex-shrink:0;width:100%;margin:0;padding:0;border:0;line-height:0;border-radius:var(--dash-radius-lg);overflow:hidden;box-shadow:var(--dash-shadow);background:var(--dash-surface)}.canvas-catalog-page .catalog-hero-banner img{display:block;width:100%;max-width:100%;height:auto;min-height:120px;object-fit:cover;object-position:center}.canvas-catalog-page .dash-toolbar--catalog,.canvas-catalog-page .dash-toolbar--single-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:1rem;overflow-x:auto;scrollbar-width:thin}.canvas-catalog-page .dash-toolbar--catalog .catalog-search,.canvas-catalog-page .dash-toolbar--single-row .catalog-search{flex:0 0 220px;width:220px;min-width:160px;max-width:260px;height:42px}.canvas-catalog-page .dash-toolbar--catalog .dash-toolbar__filters,.canvas-catalog-page .dash-toolbar--single-row .dash-toolbar__filters{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;gap:.625rem;width:auto;min-width:0}.canvas-catalog-page .dash-toolbar--catalog .dash-chip-row,.canvas-catalog-page .dash-toolbar--single-row .dash-chip-row{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:.375rem}.canvas-catalog-page .dash-toolbar--catalog .dash-filter-field,.canvas-catalog-page .dash-toolbar--single-row .dash-filter-field{flex:0 0 auto;margin-left:auto;white-space:nowrap}.canvas-catalog-page .dash-toolbar--catalog .dash-filter-select,.canvas-catalog-page .dash-toolbar--single-row .dash-filter-select{min-width:10.5rem}@media (max-width:900px){.canvas-catalog-page .dash-toolbar--catalog,.canvas-catalog-page .dash-toolbar--single-row{-webkit-overflow-scrolling:touch}.canvas-catalog-page .dash-toolbar--catalog .dash-filter-field,.canvas-catalog-page .dash-toolbar--single-row .dash-filter-field{width:auto;margin-left:auto}.canvas-catalog-page .dash-toolbar--catalog .dash-filter-select-wrap,.canvas-catalog-page .dash-toolbar--single-row .dash-filter-select-wrap{flex:0 0 auto}.canvas-catalog-page .dash-toolbar--catalog .dash-filter-select,.canvas-catalog-page .dash-toolbar--single-row .dash-filter-select{width:auto}}.canvas-catalog-page .catalog-page{display:flex;flex-direction:column;gap:var(--space-3,.75rem);min-width:0;max-width:none}.canvas-catalog-page .catalog-content-panel,.canvas-catalog-page .catalog-panel{width:100%}.canvas-catalog-page .catalog-list-header,.canvas-catalog-page .catalog-panel-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.canvas-catalog-page .catalog-list{display:flex;flex-direction:column}.canvas-catalog-page .catalog-row--browse{grid-template-columns:auto 1fr auto!important;gap:1rem 1.25rem!important;padding:1rem 1.25rem!important}.canvas-catalog-page .catalog-row__meta{margin:.35rem 0 0;font-size:.8125rem;color:var(--dash-muted);line-height:1.4}.canvas-catalog-page .catalog-row__badge{display:none}@media (min-width:769px){.canvas-catalog-page .catalog-row__actions{display:flex;align-items:center;gap:.75rem}.canvas-catalog-page .catalog-row__badge{display:inline-flex;white-space:nowrap}}.canvas-catalog-page .catalog-cta--review,.canvas-catalog-page .catalog-cta--start{background:var(--dash-surface)!important;border:1px solid var(--dash-border)!important;color:var(--dash-primary)!important;box-shadow:none!important}.canvas-catalog-page .catalog-cta--review{color:var(--dash-success)!important;border-color:#a7f3d0!important}.canvas-catalog-page .catalog-cta--review:hover:not(:disabled){background:#ecfdf5!important}.canvas-catalog-page .catalog-cta--start:hover:not(:disabled){background:var(--dash-soft)!important;border-color:rgba(0,18,154,.25)!important}.canvas-catalog-page .catalog-cta--continue{background:var(--dash-primary)!important;border-color:var(--dash-primary)!important;color:#fff!important}.catalog-grid{display:grid;gap:.5rem}.catalog-tag--cat{background:#eff6ff;color:#1d4ed8}.catalog-tag--status{background:var(--dash-soft);color:var(--dash-muted)}.dash-continue-now__title{margin:.5rem 0 .75rem;font-size:.9375rem;font-weight:700;line-height:1.35}.dash-continue-now__bar{margin-bottom:.35rem}.dash-continue-now__pct{margin:0 0 .5rem;font-size:.8125rem;color:var(--dash-muted)}.dash-continue-now__next{margin:0 0 1rem;font-size:.8125rem;color:var(--dash-text)}.dash-continue-now__empty{margin:.5rem 0 1rem;font-size:.875rem;color:var(--dash-muted);line-height:1.45}.dash-continue-now__link{display:inline-block;font-size:.8125rem;font-weight:600;color:var(--dash-primary);text-decoration:none}.dash-continue-now__link:hover{text-decoration:underline}.dash-aside-note{margin-top:var(--dash-gap)}.dash-aside-note__text{margin:.35rem 0 .75rem;font-size:.875rem;color:var(--dash-muted)}.canvas-panel__title--sm{font-size:.9375rem}.catalog-sort-select{padding:.5rem .75rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);font-size:.875rem;background:var(--dash-surface)}.dash-announce-mini{list-style:none;margin:0 0 .75rem;padding:0;display:grid;gap:.75rem}.dash-announce-mini li strong{display:block;font-size:.875rem;margin-bottom:.15rem}.dash-announce-mini li p{margin:0;font-size:.8125rem;color:var(--dash-muted)}.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--dash-gap);align-items:start}.calendar-filters{margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.75rem}.calendar-month__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.calendar-month__nav{display:flex;gap:.35rem}.calendar-grid__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.calendar-grid__weekday{font-size:.75rem;font-weight:600;text-align:center;color:var(--dash-muted);padding:.35rem 0}.calendar-grid__day{aspect-ratio:1;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface);font-size:.875rem;font-weight:600;cursor:pointer}.calendar-grid__day.is-today{border-color:var(--dash-primary);color:var(--dash-primary)}.calendar-grid__day.has-event::after{content:"";display:block;width:6px;height:6px;margin:.15rem auto 0;border-radius:50%;background:var(--dash-primary)}.calendar-aside{display:grid;gap:var(--dash-gap)}.calendar-event-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.calendar-event{padding:.75rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-soft)}.calendar-event--empty{color:var(--dash-muted);font-size:.875rem;background:0 0;border-style:dashed}.calendar-event__title{margin:0;font-size:.9375rem;font-weight:600}.calendar-event__meta{margin:.25rem 0;font-size:.8125rem;color:var(--dash-muted)}.calendar-event__badge{display:inline-block;font-size:.75rem;font-weight:600;color:var(--dash-primary)}.calendar-event__link{display:inline-block;margin-top:.35rem;font-size:.8125rem;font-weight:600}.gamify-hero{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:1.25rem;padding:1.25rem 1.375rem;margin-bottom:var(--dash-gap);background:var(--dash-surface);border:1px solid var(--dash-border);color:var(--dash-text)}.gamify-hero__main{flex:1 1 16rem;min-width:0}.gamify-hero__rank{margin:0;font-size:.8125rem;font-weight:600;color:var(--dash-muted)}.gamify-hero__level{margin:.25rem 0 0;font-size:1.375rem;font-weight:800;color:var(--dash-text);letter-spacing:-.02em;line-height:1.2}.gamify-hero__xp{margin:.5rem 0 0;font-size:.9375rem;font-weight:700;color:var(--dash-primary)}.gamify-hero__bar{margin-top:.625rem;max-width:22rem}.gamify-hero__bar .dash-progress__track{height:8px;background:#e2e8f0;border-radius:999px}.gamify-hero__bar .dash-progress__fill{background:var(--dash-primary);border-radius:999px}.gamify-hero__motivation{margin:.5rem 0 0;font-size:.8125rem;font-weight:500;color:var(--dash-muted);line-height:1.45}.gamify-hero .rank-xp-help-link{margin-top:.625rem;color:var(--dash-primary)}.gamify-hero__stats{display:grid;grid-template-columns:repeat(2,minmax(5.5rem,1fr));gap:.5rem;flex-shrink:0;align-self:stretch}.gamify-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:.625rem .75rem;border-radius:12px;background:var(--dash-soft);border:1px solid var(--dash-border)}.gamify-stat i{font-size:1.0625rem;margin-bottom:.2rem;color:var(--dash-primary)}.gamify-stat span{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--dash-muted)}.gamify-stat strong{font-size:1rem;font-weight:700;line-height:1.2;color:var(--dash-text)}.gamify-stat__sub{display:block;margin-top:.2rem;font-size:.6875rem;font-weight:600;color:var(--dash-muted);text-transform:none;letter-spacing:0;line-height:1.25}.rank-me-stat small{display:block;margin-top:.2rem;font-size:.6875rem;font-weight:600;color:var(--dash-muted);text-transform:none;letter-spacing:0}.gamify-level-progress{margin-bottom:var(--dash-gap)}.gamify-level-progress__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.gamify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dash-gap);margin-bottom:var(--dash-gap)}.gamify-compare{margin:1rem 0 0;font-size:.875rem;color:var(--dash-muted);line-height:1.5}.gamify-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.gamify-badge{padding:1rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);text-align:center;background:var(--dash-soft);opacity:.65}.gamify-badge.is-unlocked{opacity:1;border-color:#f59e0b;background:#fffbeb}.gamify-badge__icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin:0 auto .5rem;border-radius:50%;background:var(--dash-surface);font-size:1.125rem;color:var(--dash-primary)}.gamify-badge h3{margin:0 0 .25rem;font-size:.8125rem;font-weight:700}.gamify-badge p{margin:0 0 .35rem;font-size:.6875rem;color:var(--dash-muted)}.gamify-badge__state{font-size:.6875rem;font-weight:600;color:var(--dash-primary)}.learning-pending-simple{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.learning-pending-simple__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface)}.learning-pending-simple__title{font-size:.875rem;font-weight:600;color:var(--dash-text);flex:1 1 auto;min-width:0}.catalog-accordion{display:grid;gap:.5rem}.catalog-acc-item{border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface);overflow:hidden}.catalog-acc-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;border:0;background:0 0;text-align:left;cursor:pointer}.catalog-acc-trigger__text{flex:1 1 auto;display:flex;flex-direction:column;gap:.15rem}.catalog-acc-trigger__text .catalog-cat-name{font-size:.9375rem;font-weight:700;color:var(--dash-text)}.catalog-acc-trigger__text .catalog-cat-count{font-size:.75rem;color:var(--dash-muted)}.catalog-acc-trigger__chev{transition:transform .2s ease;color:var(--dash-muted)}.catalog-acc-item.is-open .catalog-acc-trigger__chev{transform:rotate(180deg)}.catalog-acc-panel[hidden]{display:none}.catalog-acc-panel .catalog-cat-rows{padding:0 .75rem .75rem}@media (max-width:992px){.gamify-hero__stats{width:100%}.gamify-hero__stats .gamify-stat{flex:1 1 0;min-width:0}.calendar-layout,.gamify-grid{grid-template-columns:1fr}.dash-grid--campus,.dash-grid--executive{grid-template-columns:1fr}}.dash-hero-compact__meta{margin:.35rem 0 0;color:var(--dash-muted);font-size:.9375rem}.dash-hero-compact__actions{display:flex;flex-wrap:wrap;gap:.625rem}.dash-stats--executive{margin-bottom:var(--dash-gap)}.dash-grid--executive{margin-bottom:var(--dash-gap)}.learning-page .learning-layout{display:flex;flex-direction:column;gap:var(--dash-gap)}.learning-hero-card{background:linear-gradient(135deg,#fff 0,#f8faff 100%);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow);padding:1.25rem 1.5rem}.learning-hero-card__eyebrow{margin:0 0 .35rem;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dash-primary)}.learning-hero-card__title{margin:0 0 .5rem;font-family:var(--font-heading, "Nunito", sans-serif);font-size:clamp(1.125rem,2vw,1.375rem);font-weight:700;line-height:1.3;color:var(--dash-text)}.learning-hero-card__meta{margin:0 0 1rem;font-size:.8125rem;color:var(--dash-muted)}.learning-hero-card__progress-track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.learning-hero-card__progress-fill{display:block;height:100%;background:var(--dash-primary);border-radius:999px;transition:width var(--transition-base,200ms ease)}.learning-hero-card__pct{margin:.5rem 0 .25rem;font-size:.8125rem;font-weight:600;color:var(--dash-text)}.learning-hero-card__next{margin:0 0 1rem;font-size:.8125rem;color:var(--dash-muted)}.learning-hero-card__next strong{color:var(--dash-text);font-weight:600}.learning-hero-card__cta{margin-top:.25rem}.learning-hero-card__empty{text-align:center;padding:1rem .5rem}.learning-hero-card__empty-title{margin:0 0 .35rem;font-size:1rem;font-weight:700;color:var(--dash-text)}.learning-hero-card__empty-desc{margin:0 0 1rem;font-size:.875rem;color:var(--dash-muted)}.learning-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.625rem}.learning-summary-strip__item{display:flex;flex-direction:column;gap:.2rem;padding:.75rem 1rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius);box-shadow:var(--dash-shadow)}.learning-summary-strip__label{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.learning-summary-strip__value{font-size:1.0625rem;font-weight:700;color:var(--dash-text)}.learning-tabs{display:flex;flex-wrap:wrap;gap:.375rem;margin:0;padding:.25rem;background:var(--dash-soft);border:1px solid var(--dash-border);border-radius:var(--dash-radius)}.learning-tabs__btn{flex:1 1 auto;min-width:0;padding:.5rem .875rem;border:none;border-radius:8px;background:0 0;font-size:.8125rem;font-weight:600;color:var(--dash-muted);cursor:pointer;transition:background var(--transition-fast,150ms ease),color var(--transition-fast,150ms ease)}.learning-tabs__btn:hover:not(.is-active){color:var(--dash-text);background:rgba(255,255,255,.65)}.learning-tabs__btn.is-active{background:var(--dash-surface);color:var(--dash-primary);box-shadow:var(--dash-shadow)}.learning-tab-panel{display:none}.learning-tab-panel.is-active{display:block}.learning-panel{background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow);padding:1.25rem}.learning-panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1rem;padding-bottom:.875rem;border-bottom:1px solid var(--dash-border)}.learning-panel-header__title{margin:0;font-size:1rem;font-weight:700;color:var(--dash-text)}.learning-panel-header__sub{margin:.25rem 0 0;font-size:.8125rem;color:var(--dash-muted)}.learning-panel-header__link{font-size:.8125rem;font-weight:600;color:var(--dash-primary);text-decoration:none;white-space:nowrap}.learning-panel-header__link:hover{text-decoration:underline}.learning-panel-header__meta{font-size:.8125rem;font-weight:600;color:var(--dash-muted)}.learning-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.learning-course-card{display:flex;flex-direction:column;gap:.625rem;padding:.9375rem 1rem;background:var(--dash-soft);border:1px solid var(--dash-border);border-radius:var(--dash-radius);cursor:pointer;transition:border-color var(--transition-fast,150ms ease),background var(--transition-fast,150ms ease),box-shadow var(--transition-fast,150ms ease)}.learning-course-card:hover{border-color:rgba(0,18,154,.25);background:#fff;box-shadow:var(--dash-shadow)}.learning-course-card:focus-visible{outline:2px solid var(--dash-primary);outline-offset:2px}.learning-course-card__head{display:flex;align-items:flex-start;gap:.625rem}.learning-course-card__icon{width:2rem;height:2rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9375rem}.learning-course-card__icon--progress{background:#eef2ff;color:var(--dash-primary)}.learning-course-card__icon--done{background:#ecfdf5;color:var(--dash-success)}.learning-course-card__icon--pending{background:#f1f5f9;color:#94a3b8}.learning-course-card__copy{flex:1;min-width:0}.learning-course-card__title{margin:0;font-size:.875rem;font-weight:700;line-height:1.35;color:var(--dash-text)}.learning-course-card__meta{margin:.2rem 0 0;font-size:.75rem;color:var(--dash-muted)}.learning-course-card__chev{flex-shrink:0;color:#cbd5e1;font-size:.875rem;margin-top:.15rem}.learning-course-card:hover .learning-course-card__chev{color:var(--dash-primary)}.learning-course-card__progress{height:5px;background:#e2e8f0;border-radius:999px;overflow:hidden}.learning-course-card__progress span{display:block;height:100%;background:var(--dash-primary);border-radius:999px}.learning-course-card__progress--done span{background:var(--dash-success)}.learning-course-card__footer{margin-top:auto}.learning-panel-empty{padding:2rem 1rem;text-align:center}.learning-panel-empty__title{margin:0 0 .35rem;font-size:.9375rem;font-weight:700;color:var(--dash-text)}.learning-panel-empty__desc{margin:0;font-size:.8125rem;color:var(--dash-muted)}.learning-panel-empty__desc a{color:var(--dash-primary);font-weight:600;text-decoration:none}.learning-panel-empty__desc a:hover{text-decoration:underline}.learning-history-search{max-width:320px;margin-bottom:1rem}.learning-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.learning-history-list__item{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;gap:.75rem 1rem;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(226,232,240,.85)}.learning-history-list__item:last-child{border-bottom:none}.learning-history-list__date{font-size:.75rem;color:var(--dash-muted)}.learning-history-list__title{display:block;font-size:.875rem;font-weight:600;color:var(--dash-text)}.learning-history-list__body{min-width:0}.learning-history-list__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .5rem}.learning-history-list__badge{display:inline-flex;align-items:center;height:1.25rem;padding:0 .45rem;border-radius:999px;background:#ecfdf5;color:#047857;font-size:.625rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.learning-history-list__item--latest{background:linear-gradient(90deg,rgba(236,253,245,.45) 0,transparent 55%)}.learning-history-list__meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.35rem}.learning-history-list__code{font-size:.75rem;color:var(--dash-muted)}.learning-history-list__grade{display:inline-flex;align-items:baseline;gap:.4rem;padding:.2rem .65rem;border-radius:999px;background:rgba(0,18,154,.06);border:1px solid rgba(0,18,154,.1)}.learning-history-list__grade-label{font-size:.6875rem;font-weight:600;color:var(--dash-muted);text-transform:uppercase;letter-spacing:.03em}.learning-history-list__grade-value{font-size:1rem;font-weight:800;line-height:1;color:var(--dash-primary,#00129a)}.learning-history-list__actions{display:flex;align-items:center;justify-content:flex-end}.learning-history-list__actions .dash-btn{white-space:nowrap}.learning-certificate-feedback-wrap{margin-top:.75rem}.learning-certificate-feedback{margin:0;padding:.625rem .875rem;border-radius:10px;font-size:.8125rem;font-weight:500}.learning-certificate-feedback--info{background:#eff6ff;color:#1d4ed8}.learning-certificate-feedback--success{background:#ecfdf5;color:#047857}.learning-certificate-feedback--danger{background:#fef2f2;color:#b91c1c}.learning-history-list__meta{display:block;margin-top:.15rem;font-size:.75rem;color:var(--dash-muted)}.canvas-platform .admin-crm-nav__link--secondary{color:var(--dash-muted);font-size:.8125rem;font-weight:500;min-height:36px}@media (max-width:768px){.learning-page .dash-header__actions{flex-wrap:wrap;justify-content:flex-end}.learning-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.learning-tabs::-webkit-scrollbar{display:none}.learning-tabs__btn{flex:0 0 auto;white-space:nowrap}.learning-course-grid{grid-template-columns:1fr}.learning-history-list__item{grid-template-columns:1fr;gap:.5rem}.learning-history-list__actions{justify-content:flex-start}.learning-history-list__actions .dash-btn{width:100%;justify-content:center}}@media (max-width:480px){.learning-summary-strip{grid-template-columns:1fr 1fr}.learning-hero-card{padding:1rem}}.learning-profile-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:var(--dash-gap)}.learning-profile-bar__avatar{width:3rem;height:3rem;border-radius:50%;background:var(--dash-primary);color:#fff;display:grid;place-items:center;font-weight:700}.learning-profile-bar__body{flex:1 1 12rem}.learning-profile-bar__name{margin:0;font-size:1.125rem;font-weight:700}.learning-profile-bar__meta{margin:.25rem 0 0;color:var(--dash-muted);font-size:.875rem}.learning-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.learning-tabs__btn{padding:.5rem 1rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface);font-size:.875rem;font-weight:600;color:var(--dash-muted);cursor:pointer}.learning-tabs__btn.is-active{background:var(--dash-primary);border-color:var(--dash-primary);color:#fff}.learning-tab-panel.is-active{display:block}.learning-ranking-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:600;color:var(--dash-muted);text-decoration:none}.learning-ranking-link:hover{color:var(--dash-primary)}.learning-primary-cta{margin-top:1rem}.learning-history-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem}.learning-history-list__item{padding:.875rem 1rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-soft)}.learning-history-list__date{display:block;font-size:.75rem;color:var(--dash-muted)}.learning-history-list__title{display:block;margin-top:.2rem;font-size:.9375rem}.learning-history-list__meta{display:block;margin-top:.15rem;font-size:.8125rem;color:var(--dash-muted)}.gamify-level-hint{margin:.75rem 0 0;font-size:.875rem;color:var(--dash-muted)}.gamify-compare-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}.gamify-compare-list__item{display:flex;align-items:flex-start;gap:.35rem;font-size:.9375rem;color:var(--dash-text);line-height:1.45}.gamify-compare-list__item i{color:var(--dash-primary);font-size:1.125rem;line-height:1.2}.gamify-badge.is-progress{opacity:.85;border-color:#93c5fd;background:#eff6ff}.gamify-badge__bar{margin:.5rem 0}.rank-simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dash-gap);margin-bottom:var(--dash-gap)}.rank-simple-grid>.canvas-panel{margin-bottom:0}.ranking-simple .rank-simple-grid+.canvas-panel{margin-bottom:var(--dash-gap)}.rank-podium{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.5rem}.rank-podium__item{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.65rem .85rem;border-radius:var(--dash-radius);background:var(--dash-soft);border:1px solid var(--dash-border)}.rank-podium__item--1{border-color:#f59e0b;background:#fffbeb}.rank-podium__pos{font-weight:800;color:var(--dash-primary)}.rank-podium__name{font-size:.875rem;font-weight:600}.rank-podium__xp{font-size:.8125rem;font-weight:700;color:var(--dash-muted)}.rank-my-position{margin-top:1rem}.rank-my-position__line{margin:0;padding:.75rem .85rem;border-radius:var(--dash-radius);background:#eff6ff;border:1px solid #bfdbfe;font-size:.875rem}.rank-my-position__line.is-me{font-weight:600}.rank-nearby{list-style:none;margin:.5rem 0 .75rem;padding:0;display:grid;gap:.35rem}.rank-nearby__item{font-size:.8125rem;color:var(--dash-muted)}.rank-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.rank-section-head .canvas-panel__title{margin:0}.ranking-page .rank-panel-action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:0 1rem;margin-top:.75rem;font-size:.8125rem;font-weight:600;line-height:1;white-space:nowrap;border:1px solid var(--dash-border)!important;border-radius:999px;background:var(--dash-surface)!important;color:var(--dash-primary)!important;box-shadow:var(--dash-shadow);cursor:pointer;transition:background 150ms ease,border-color 150ms ease,box-shadow 150ms ease}.ranking-page .rank-section-head .rank-panel-action{margin-top:0;flex-shrink:0}.ranking-page .rank-panel-action i{font-size:.9375rem;line-height:1}.ranking-page .rank-panel-action:hover{background:var(--dash-soft)!important;border-color:rgba(0,18,154,.28)!important;color:var(--dash-primary)!important;box-shadow:0 2px 6px rgba(15,23,42,.08)}.ranking-page .rank-panel-action:focus-visible{outline:2px solid var(--dash-primary);outline-offset:2px}.gamify-badges--featured{grid-template-columns:repeat(3,minmax(0,1fr))}.gamify-badge--compact h3{font-size:.875rem}.rank-nearby__label{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dash-muted);margin-bottom:.25rem}.gamify-xp-help{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.625rem}.gamify-xp-help__item{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border-radius:var(--dash-radius);background:var(--dash-soft);border:1px solid var(--dash-border);font-size:.875rem}.gamify-xp-help__item i{color:var(--dash-primary);font-size:1rem}.gamify-xp-help__item span{flex:1;color:var(--dash-text)}.gamify-xp-help__item strong{font-size:.8125rem;font-weight:700;color:var(--dash-primary);white-space:nowrap}.rank-xp-help-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:0;border:none;background:0 0;font-size:.8125rem;font-weight:600;color:var(--dash-primary);cursor:pointer;text-decoration:none}.rank-xp-help-link:hover{text-decoration:underline;text-underline-offset:2px}.rank-xp-help-link:focus-visible{outline:2px solid rgba(0,18,154,.35);outline-offset:2px;border-radius:2px}.rank-xp-modal__body{display:grid;gap:1rem}.rank-xp-modal__intro{margin:0;font-size:.9375rem;color:var(--dash-muted);line-height:1.55}.rank-xp-modal__highlight{padding:.875rem 1rem;border-radius:var(--dash-radius);background:#eef2ff;border:1px solid rgba(0,18,154,.12);font-size:.875rem;color:var(--dash-text);line-height:1.5}.rank-xp-modal__highlight strong{color:var(--dash-primary)}.rank-xp-modal__formula{margin:0;padding:.75rem .875rem;border-radius:var(--dash-radius);background:var(--dash-soft);border:1px solid var(--dash-border);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;color:var(--dash-text)}.rank-xp-modal__list{margin:0;padding-left:1.125rem;display:grid;gap:.5rem;font-size:.875rem;color:var(--dash-text);line-height:1.5}.rank-xp-modal__levels{display:grid;gap:.375rem}.rank-xp-modal__level{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border-radius:var(--dash-radius);background:var(--dash-soft);border:1px solid var(--dash-border);font-size:.8125rem}.rank-xp-accordion summary{cursor:pointer;font-weight:700;color:var(--dash-text);list-style:none}.rank-xp-accordion summary::-webkit-details-marker{display:none}.rank-xp-accordion[open] summary{margin-bottom:.75rem}.rank-full-panel{margin-bottom:var(--dash-gap)}.rank-full-panel__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.rank-board-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.rank-board-tabs__btn{padding:.4rem .85rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface);font-size:.8125rem;font-weight:600;color:var(--dash-muted);cursor:pointer}.rank-board-tabs__btn.is-active{background:var(--dash-primary);border-color:var(--dash-primary);color:#fff}@media (max-width:992px){.rank-simple-grid{grid-template-columns:1fr}.gamify-badges--featured{grid-template-columns:1fr}}.announcements-toolbar{margin-bottom:1rem}.help-layout{display:grid;gap:var(--dash-gap)}.help-section{padding:1.25rem}.help-section__head{margin-bottom:1rem}.help-section__title{display:flex;align-items:center;gap:.5rem;margin:0;font-family:var(--font-heading, "Nunito", sans-serif);font-size:1.0625rem;font-weight:700;color:var(--dash-text)}.help-section__title i{color:var(--dash-primary)}.help-section__sub{margin:.35rem 0 0;font-size:.875rem;color:var(--dash-muted)}.help-section .dash-toolbar{margin-bottom:1rem}.announcements-list--compact{gap:.75rem}.help-support-card{padding:1rem 1.125rem;border-radius:var(--dash-radius);background:#f8fafc;border:1px solid var(--dash-border)}.help-support-card__lead{margin:0 0 1rem;font-size:.9375rem;color:var(--dash-text);line-height:1.55}.help-support-card__contact{display:grid;gap:.25rem;margin-bottom:1rem}.help-support-card__label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dash-muted)}.help-support-card__mail{font-size:1rem;font-weight:700;color:var(--dash-primary);text-decoration:none}.help-support-card__mail:hover{text-decoration:underline}.help-support-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.help-support-card__hint{margin:.75rem 0 0;font-size:.8125rem;color:#047857}.help-support-tips{margin:1rem 0 0;padding-left:1.125rem;display:grid;gap:.375rem;font-size:.8125rem;color:var(--dash-muted);line-height:1.5}@media (min-width:992px){.help-layout{grid-template-columns:1.4fr 1fr;align-items:start}}.announcements-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.announcement-item{padding:1.25rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface);box-shadow:var(--dash-shadow)}.announcement-item--important{border-left:4px solid #f59e0b}.announcement-item.is-unread{background:#fffbeb}.announcement-item__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.announcement-item__badge{font-size:.75rem;font-weight:600;color:var(--dash-muted)}.announcement-item__date{font-size:.8125rem;color:var(--dash-muted)}.announcement-item__title{margin:0 0 .35rem;font-size:1.0625rem;font-weight:700}.announcement-item__text{margin:0 0 .75rem;color:var(--dash-text);font-size:.9375rem}@media (max-width:992px){.dash-grid--executive{grid-template-columns:1fr}}.fichero-conceptos{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.fichero-hint{margin:0;padding:.75rem 1rem;font-size:.875rem;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.fichero-chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;border-bottom:1px solid #e2e8f0}.fichero-chip{padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.fichero-chip:hover{background:#e2e8f0;color:#00129a}.fichero-chip.active{background:#00129a;color:#fff;border-color:#00129a}.fichero-content{padding:1.25rem 1.5rem;min-height:80px}.fichero-term{font-weight:700;font-size:1.1rem;color:#00129a;margin-bottom:.5rem}.fichero-def{margin:0;font-size:.95rem;line-height:1.55;color:#334155}.timeline-sar{--t-line:#cbd5e1;--t-marker:#64748b;--t-bg:#f8fafc;padding:1rem 0}.timeline-heading{font-size:1rem;font-weight:700;color:#334155;margin:0 0 1.25rem;padding-left:0}.timeline-sar-enhanced .timeline-enhanced-list{display:flex;flex-direction:column;gap:0}.timeline-step-enhanced{display:grid;grid-template-columns:4.75rem minmax(0,1fr);gap:0 1.15rem;align-items:stretch;margin-bottom:.35rem}.timeline-step-enhanced:last-child{margin-bottom:0}.timeline-step-enhanced__gutter{display:flex;flex-direction:column;align-items:center;min-height:100%}.timeline-step-enhanced__node{width:3.85rem;height:3.85rem;border-radius:50%;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#fff;background:linear-gradient(145deg,#6491e3 0,#00129a 100%);box-shadow:0 6px 18px rgba(14,76,146,.28);border:2px solid rgba(255,255,255,.35)}.timeline-step-icon{font-size:1.85rem;line-height:1}.timeline-step-num{position:absolute;bottom:3px;right:1px;min-width:1.15rem;height:1.15rem;padding:0 3px;border-radius:999px;font-size:.62rem;font-weight:800;line-height:1.15rem;text-align:center;background:rgba(255,255,255,.35);color:#0b2a4d}.timeline-step-digit{font-size:1.45rem;font-weight:800;line-height:1;letter-spacing:-.02em}.timeline-step-enhanced__spine{flex:1 1 auto;width:4px;min-height:1.15rem;margin:4px 0;border-radius:4px;background:linear-gradient(180deg,#93c5fd 0,#e0f2fe 55%,#e2e8f0 100%)}.timeline-step-enhanced__body{background:var(--t-bg);border:1px solid #e2e8f0;border-radius:12px;padding:1rem 1.2rem 1.1rem;border-left:4px solid #00129a;box-shadow:0 2px 10px rgba(15,23,42,.04);margin-bottom:.85rem}.timeline-step-enhanced:last-child .timeline-step-enhanced__body{margin-bottom:0}.timeline-step-enhanced__title{font-weight:700;font-size:1.02rem;color:#0f172a;margin:0 0 .45rem;line-height:1.35}.timeline-step-enhanced__content{font-size:.92rem;line-height:1.55;color:#475569}.timeline-step-enhanced__content ul{margin:.5rem 0 0;padding-left:1.2rem}.timeline-step-enhanced__content li{margin-bottom:.25rem}@media (max-width:575.98px){.timeline-step-enhanced{grid-template-columns:3.5rem minmax(0,1fr);gap:0 .75rem}.timeline-step-enhanced__node{width:3.15rem;height:3.15rem}.timeline-step-icon{font-size:1.45rem}}.carousel-sar{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.carousel-viewport{position:relative;min-height:140px}.carousel-slide{display:none;padding:1.25rem 1.5rem}.carousel-slide.active{display:block}.carousel-slide-title{font-size:1rem;font-weight:700;color:#00129a;margin:0 0 .75rem}.carousel-slide-body{font-size:.95rem;line-height:1.55;color:#334155}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;background:#f8fafc;border-top:1px solid #e2e8f0}.carousel-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s ease}.carousel-btn:hover{background:#00129a;color:#fff;border-color:#00129a}.carousel-bullets{display:flex;gap:.35rem}.carousel-bullet{width:8px;height:8px;border-radius:50%;background:#cbd5e1;border:none;cursor:pointer;padding:0;transition:all .2s ease}.carousel-bullet:hover{background:#94a3b8}.carousel-bullet.active{background:#00129a;transform:scale(1.2)}.infografia-intro{background:linear-gradient(135deg,#e5f5ff 0,#e8f2fc 100%);border:1px solid #b8e6ff;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem;font-size:.9rem}.infografia-intro-title{font-weight:700;color:#00129a;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.infografia-intro ul{margin:0;padding-left:1.25rem;color:#334155}.infografia-intro li{margin-bottom:.25rem}.infografia-flujo{font-family:Lato,"Segoe UI",system-ui,sans-serif;background:#fff;border-radius:12px;padding:1rem 1.25rem;border:1px solid #e2e8f0;box-shadow:0 4px 16px rgba(0,0,0,.04)}.infografia-flujo .flow-start{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;background:#00129a;color:#fff;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;border-radius:999px;margin-bottom:.75rem}.infografia-flujo .flow-track{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem}.infografia-flujo .flow-phase{width:100%;font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:.5rem 0 .25rem;padding-bottom:.25rem}.infografia-flujo .flow-phase:first-of-type{margin-top:0}.infografia-flujo .flow-node{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f8fafc;border-radius:8px;border-left:3px solid #cbd5e1;font-size:.88rem}.infografia-flujo .flow-step.info-c1{border-left-color:#00129a}.infografia-flujo .flow-step.info-c2{border-left-color:#12a368}.infografia-flujo .flow-step.info-c3{border-left-color:#6491e3}.infografia-flujo .flow-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#00129a;color:#fff;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center}.infografia-flujo .flow-step.info-c2 .flow-num{background:#12a368}.infografia-flujo .flow-step.info-c3 .flow-num{background:#6491e3}.infografia-flujo .flow-icon{flex-shrink:0;font-size:1.1rem;color:#00129a}.infografia-flujo .flow-body{min-width:0}.infografia-flujo .flow-title{display:block;font-size:.88rem;color:#0f172a;margin-bottom:.15rem}.infografia-flujo .flow-desc{font-size:.8rem;color:#64748b;line-height:1.35}.infografia-flujo .flow-sys{display:inline-block;margin-left:.5rem;padding:.15rem .4rem;font-size:.7rem;font-weight:700;background:#e2e8f0;color:#475569;border-radius:4px}.infografia-flujo .flow-check{flex-shrink:0;width:28px;height:28px;padding:0;border:none;background:0 0;color:#cbd5e1;font-size:1.25rem;cursor:pointer;transition:color .2s}.infografia-flujo .flow-check:hover{color:#94a3b8}.infografia-flujo .flow-check.flow-check-hidden{visibility:hidden}.infografia-flujo .flow-node.flow-checked .flow-check{color:#14b573;visibility:visible}.infografia-flujo .flow-question-wrap{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0}.infografia-flujo .flow-question-label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin-bottom:.4rem}.infografia-flujo .flow-opts{display:flex;flex-wrap:wrap;gap:.35rem}.infografia-flujo .flow-opt{padding:.35rem .6rem;font-size:.78rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .2s}.infografia-flujo .flow-opt:hover:not(:disabled){border-color:#00129a;background:#e5f5ff}.infografia-flujo .flow-opt.flow-opt-ok{border-color:#14b573;background:#dcfce7;color:#12a368}.infografia-flujo .flow-opt:disabled{cursor:default;opacity:.9}.infografia-flujo .flow-arr{color:#94a3b8;font-size:1rem;flex-shrink:0}.infografia-flujo .flow-decision{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding:.6rem .9rem;background:#e5f5ff;border:2px solid #b8e6ff;border-radius:10px;width:100%}.infografia-flujo .flow-diamond{width:28px;height:28px;background:#6491e3;color:#fff;font-size:.9rem;font-weight:800;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.infografia-flujo .flow-question{font-size:.85rem;font-weight:700;color:#00129a;max-width:220px}.infografia-flujo .flow-branches,.infografia-flujo .flow-sino-branches{display:flex;flex-wrap:wrap;gap:.75rem 1rem;width:100%;margin-top:.5rem}.infografia-flujo .flow-branch-item,.infografia-flujo .flow-sino-no,.infografia-flujo .flow-sino-si{flex:1;min-width:140px}.infografia-flujo .flow-branch-label,.infografia-flujo .flow-sino-label{display:block;font-size:.75rem;font-weight:800;color:#00129a;margin-bottom:.35rem}.infografia-flujo .flow-sino-no .flow-sino-text{font-size:.8rem;color:#00129a;font-style:italic}.infografia-flujo .flow-sino-next{font-size:.8rem;color:#12a368;font-weight:600}.infografia-flujo .flow-sino-steps{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.infografia-flujo .flow-finish{padding:.6rem .9rem;background:#dcfce7;border:2px solid #14b573;border-radius:8px}.infografia-flujo .flow-finish-flag{font-size:.85rem;font-weight:800;color:#12a368;display:block;margin-bottom:.4rem}.infografia-flujo .flow-finish ul{margin:0;padding-left:1.1rem;font-size:.8rem;color:#12a368;line-height:1.5}.infografia-flujo .flow-finish li{margin:.2rem 0}@media (max-width:768px){.infografia-flujo .flow-track{flex-direction:column;align-items:stretch}.infografia-flujo .flow-arr{transform:rotate(90deg);align-self:center}}.infografia-narrativa{font-family:Lato,"Segoe UI",system-ui,sans-serif;background:#fff;border-radius:12px;padding:1rem 1.25rem;border:1px solid #e2e8f0;box-shadow:0 4px 16px rgba(0,0,0,.04)}.infografia-narrativa .nar-start-btn{display:block;width:100%;text-align:left;border:2px solid #00129a;border-radius:14px;padding:1rem 1.15rem;margin-bottom:0;background:linear-gradient(135deg,#00129a 0,#0d3d7a 100%);color:#fff;cursor:pointer;box-shadow:0 6px 20px rgba(14,76,146,.25);transition:transform .15s ease,box-shadow .15s ease}.infografia-narrativa .nar-start-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(14,76,146,.35)}.infografia-narrativa .nar-start-btn:active{transform:translateY(0)}.infografia-narrativa.nar-opened .nar-start-btn{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a;box-shadow:none;cursor:default;margin-bottom:.65rem}.infografia-narrativa.nar-opened .nar-start-btn:hover{transform:none}.infografia-narrativa .nar-start-btn-row{display:flex;align-items:flex-start;gap:.85rem}.infografia-narrativa .nar-start-btn-icon{font-size:1.75rem;flex-shrink:0;line-height:1;opacity:.95}.infografia-narrativa.nar-opened .nar-start-btn-icon{color:#00129a}.infografia-narrativa .nar-start-btn-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.infografia-narrativa .nar-start-btn-title{display:block;font-size:1.1rem;font-weight:800;letter-spacing:.02em;text-transform:none}.infografia-narrativa.nar-collapsed .nar-start-btn-title{text-transform:none;font-size:1.15rem}.infografia-narrativa .nar-start-btn-hint{display:block;font-size:.82rem;font-weight:500;opacity:.92;line-height:1.45}.infografia-narrativa.nar-opened .nar-start-btn-hint{color:#475569;opacity:1}.infografia-narrativa .nar-start-btn-hint .fa-circle-check{vertical-align:-.1em}.infografia-narrativa .nar-start-btn-chevron{flex-shrink:0;font-size:1.35rem;align-self:center;transition:transform .35s ease;opacity:.9}.infografia-narrativa.nar-collapsed .nar-start-btn-chevron{animation:nar-chevron-bounce 1.2s ease-in-out infinite}.infografia-narrativa.nar-opened .nar-start-btn-chevron{transform:rotate(-180deg);opacity:.5}@keyframes nar-chevron-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}.infografia-narrativa .nar-hint-after-open{font-size:.8rem;color:#334155;background:#e5f5ff;border:1px solid #b8e6ff;border-radius:10px;padding:.55rem .85rem;margin-bottom:.65rem;display:flex;align-items:center;gap:.5rem}.infografia-narrativa .nar-hint-after-open .fa-solid{color:#00129a;flex-shrink:0}.infografia-narrativa.nar-collapsed .nar-track{max-height:0;overflow:hidden;opacity:0;pointer-events:none}.infografia-narrativa.nar-opened .nar-track{max-height:none;opacity:1;pointer-events:auto}.infografia-narrativa .nar-track{display:flex;flex-direction:column;gap:0}.infografia-narrativa .nar-block:not(.nar-hidden)+.nar-block:not(.nar-hidden)::before{content:"";display:block;width:2px;height:12px;margin:.25rem 0 .25rem 1rem;background:linear-gradient(180deg,#cbd5e1 0,transparent 100%);border-radius:1px}.infografia-narrativa .nar-block{transition:opacity .4s ease,transform .35s ease,max-height .45s ease}.infografia-narrativa .nar-block.nar-hidden{opacity:0;max-height:0;overflow:hidden;margin:0!important;padding:0!important;pointer-events:none;transform:translateY(-6px)}.infografia-narrativa .nar-block:not(.nar-hidden){max-height:600px;opacity:1;transform:translateY(0)}.infografia-narrativa .nar-phase{font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;padding:.4rem 0;border-bottom:1px dashed #e2e8f0}.infografia-narrativa .nar-step{display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;background:#f8fafc;border-radius:10px;border-left:4px solid #cbd5e1}.infografia-narrativa .nar-step.info-c1{border-left-color:#00129a}.infografia-narrativa .nar-step.info-c2{border-left-color:#12a368}.infografia-narrativa .nar-step.info-c3{border-left-color:#6491e3}.infografia-narrativa .nar-num{width:28px;height:28px;border-radius:50%;background:#00129a;color:#fff;font-size:.8rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.infografia-narrativa .nar-step.info-c2 .nar-num{background:#12a368}.infografia-narrativa .nar-step.info-c3 .nar-num{background:#6491e3}.infografia-narrativa .nar-icon{font-size:1.2rem;color:#00129a;flex-shrink:0}.infografia-narrativa .nar-body{flex:1;min-width:0}.infografia-narrativa .nar-title{display:block;font-size:.95rem;color:#0f172a;margin-bottom:.2rem}.infografia-narrativa .nar-desc{font-size:.85rem;color:#64748b;line-height:1.4}.infografia-narrativa .nar-sys{display:inline-block;margin-left:.5rem;padding:.2rem .5rem;font-size:.72rem;font-weight:700;background:#e2e8f0;color:#475569;border-radius:4px}.infografia-narrativa .nar-check{width:36px;height:36px;padding:0;border:none;background:0 0;color:#cbd5e1;font-size:1.4rem;cursor:pointer;flex-shrink:0;transition:color .25s ease,transform .2s ease}.infografia-narrativa .nar-check:hover:not(:disabled){color:#14b573;transform:scale(1.1)}.infografia-narrativa .nar-check[disabled]{cursor:default;color:#14b573;animation:narCheckPop .3s ease}@keyframes narCheckPop{0%{transform:scale(1.2)}70%{transform:scale(1.05)}100%{transform:scale(1)}}.infografia-narrativa .nar-tooltip{padding:1rem 1.25rem;background:#dcfce7;border:2px solid #14b573;border-radius:10px}.infografia-narrativa .nar-tooltip-title{font-size:1rem;font-weight:800;color:#12a368;margin-bottom:.6rem}.infografia-narrativa .nar-tooltip ul{margin:0 0 .75rem;padding-left:1.25rem;font-size:.9rem;color:#12a368;line-height:1.5}.infografia-narrativa .nar-tooltip-ok{padding:.5rem 1.25rem;background:#14b573;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;transition:background .2s ease,transform .2s ease}.infografia-narrativa .nar-tooltip-ok:hover{background:#12a368;transform:translateY(-1px)}.infografia-narrativa .nar-decision{padding:1rem 1.25rem;background:#e5f5ff;border:2px solid #b8e6ff;border-radius:10px}.infografia-narrativa .nar-diamond{width:32px;height:32px;background:#6491e3;color:#fff;font-size:1rem;font-weight:800;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:.5rem}.infografia-narrativa .nar-question{font-size:1rem;font-weight:700;color:#00129a;margin-bottom:.75rem}.infografia-narrativa .nar-sino-btns{display:flex;gap:.5rem}.infografia-narrativa .nar-btn-no,.infografia-narrativa .nar-btn-si{padding:.5rem 1.25rem;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;border:2px solid}.infografia-narrativa .nar-btn-si{background:#dcfce7;border-color:#14b573;color:#12a368}.infografia-narrativa .nar-btn-no{background:#e8f2fc;border-color:#00129a;color:#00129a}.infografia-narrativa .nar-sino-no{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed #b8e6ff}.infografia-narrativa .nar-no-text{font-size:.95rem;color:#00129a;font-weight:600;margin-bottom:.5rem}.infografia-narrativa .nar-no-hint{font-size:.85rem;color:#64748b;margin:0 0 .75rem}.infografia-narrativa .nar-no-retry{padding:.5rem 1rem;background:#6491e3;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:background .2s ease}.infografia-narrativa .nar-no-retry:hover{background:#19a3e6}.infografia-narrativa .nar-branches{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.infografia-narrativa .nar-branch{flex:1;min-width:140px;padding:.6rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.infografia-narrativa .nar-branch-btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;cursor:pointer;transition:all .2s ease}.infografia-narrativa .nar-branch-btn:hover{border-color:#00129a;background:#e5f5ff;transform:translateY(-2px)}.infografia-narrativa .nar-branch-label{display:block;font-weight:700;color:#0f172a;margin-bottom:.25rem}.content-section .dl-wrap,.infografia-flujo+.dl-wrap,.infografia-narrativa+.dl-wrap{display:flex;justify-content:center;padding:1.25rem 1rem;margin-top:1rem}.flow-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(15,23,42,.06)}.flow-card .row.g-3{display:flex;flex-direction:column;gap:1.5rem}.flow-card .row.g-3>[class*=col-]{flex:0 0 auto;width:100%;max-width:100%}.flow-card .lane{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem 1.75rem;margin-bottom:0}.flow-card .lane:last-child{margin-bottom:0}.flow-card .start-pin{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;color:#0f172a}.flow-card .start-dot{width:36px;height:36px;border-radius:50%;background:#0f172a;border:2px solid #0f172a;color:#fff;display:grid;place-items:center;font-size:.85rem}.flow-card .pill-green{padding:.4rem .85rem;font-size:.8rem;font-weight:600;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px}.flow-card .node{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.flow-card .node:last-child{margin-bottom:0}.flow-card .node .sys{flex:1 1 100%;margin-left:calc(32px + 1rem)}.flow-card .num{flex-shrink:0;width:32px;height:32px;min-width:32px;border-radius:50%;background:#0f172a;color:#fff;font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center}.flow-card .box{flex:1 1 auto;min-width:260px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;font-size:.95rem;line-height:1.5;color:#1e293b;word-wrap:break-word;overflow-wrap:break-word}.flow-card .box strong{color:#0f172a;font-weight:700}.flow-card .sys{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.85rem;font-weight:600;color:#64748b}.flow-card .sys .chip{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e2e8f0;font-size:.8rem}.flow-card .decision-wrap{display:flex;align-items:flex-start;gap:1rem;margin:1rem 0}.flow-card .diamond{flex-shrink:0;width:32px;height:32px;background:#fff;border:2px solid #94a3b8;transform:rotate(45deg);display:flex;align-items:center;justify-content:center}.flow-card .diamond i{transform:rotate(-45deg);color:#64748b;font-size:.85rem}.flow-card .decision-box{flex:1;min-width:200px;background:#e5f5ff;border:1px solid #b8e6ff;border-radius:8px;padding:1rem 1.25rem;font-size:.95rem;color:#00129a;font-weight:600}.flow-card .finish{margin-top:1.25rem;padding:1.25rem 1.5rem;border-radius:10px;background:#dcfce7;border:1px solid #dcfce7}.flow-card .finish-flag{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:700;color:#12a368}.flow-card .finish-flag .badge{background:#12a368!important;color:#fff!important;font-size:.8rem;padding:.35rem .65rem;border-radius:8px}.flow-card .finish ul{margin:0;padding-left:1.5rem;font-size:.95rem;color:#12a368;line-height:1.5}.flow-card .finish li{margin:.35rem 0}.flow-card .flow-top{padding:1rem 1.25rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.flow-card .flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.flow-card .flow-title-pill{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;background:#0f172a;color:#fff;border:none;border-radius:8px;font-weight:700}.flow-card .flow-title-icon{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:1rem;color:#fff}.flow-card .flow-title-text .t1{font-size:1rem;font-weight:700}.flow-card .flow-title-text .t2{font-size:.75rem;opacity:.9;margin-top:2px}.flow-card .flow-brand{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.flow-card .flow-brand img{height:36px;width:auto}.flow-card .flow-brand .mini{font-size:.75rem;font-weight:600}.flow-card .flow-brand .mini span{display:block;font-size:.7rem;color:#64748b}.flow-card .dl-wrap{display:flex;justify-content:center;padding:1rem;background:#fff;border-top:1px solid #e2e8f0}.flow-card-enhanced .lane{box-shadow:0 2px 8px rgba(15,23,42,.04)}.sar-compare-card,.sar-role-card{border-radius:12px;border:1px solid #e2e8f0;overflow:hidden;transition:all .2s ease}.sar-compare-card:hover,.sar-role-card:hover{border-color:#cbd5e1}.sar-role-card.role-navy{border-left:4px solid #00129a;background:#f8fafc}.sar-role-card.role-blue{border-left:4px solid #6491e3;background:#f8fafc}.sar-role-card.role-green{border-left:4px solid #12a368;background:#dcfce7}.sar-role-card.role-amber{border-left:4px solid #19a3e6;background:#e5f5ff}.sar-compare-card.compare-ok{border-left:4px solid #14b573;background:#dcfce7}.sar-compare-card.compare-no{border-left:4px solid #00129a;background:#e8f2fc}.sar-compare-card.compare-info{border-left:4px solid #6491e3;background:#e5f5ff}.sar-compare-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(12,22,111,.1)}.compare-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.compare-card-body{padding:1rem 1.25rem}.compare-title{font-weight:700;font-size:.95rem;color:#0f172a;margin-bottom:.35rem}.compare-value{font-size:1.1rem;font-weight:800;color:#00129a;margin-bottom:.25rem}.compare-content{font-size:.9rem;line-height:1.5;color:#475569}.flipcard-sar{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;align-items:stretch}.flipcard-item{perspective:1000px;cursor:pointer;min-height:18rem;height:100%;display:flex;flex-direction:column}.flipcard-inner{position:relative;width:100%;flex:1;min-height:18rem;transition:transform .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.flipcard-item.flipped .flipcard-inner{transform:rotateY(180deg)}.flipcard-front{position:relative;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;padding:1rem 1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #e2e8f0;box-shadow:0 4px 12px rgba(12,22,111,.06);min-height:18rem;box-sizing:border-box}.flipcard-back{position:absolute;inset:0;transform:rotateY(180deg);background:#fff;color:#334155;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;padding:1rem 1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;border:2px solid #00129a;box-shadow:0 4px 12px rgba(12,22,111,.06);overflow-y:auto;min-height:18rem;box-sizing:border-box}.flipcard-front{background:linear-gradient(165deg,#f8fafc 0,#f1f5f9 100%);color:#00129a}.flipcard-front:hover{background:linear-gradient(165deg,#e5f5ff 0,#e8f2fc 100%);border-color:#6491e3;box-shadow:0 6px 20px rgba(0,18,154,.12)}.flipcard-icon{font-size:1.5rem;margin-bottom:.5rem;color:#00129a}.flipcard-front-text{font-weight:700;font-size:1rem;line-height:1.3}.flipcard-hint{margin-top:.5rem;font-size:.7rem;color:#64748b;display:flex;align-items:center;gap:.25rem}.flipcard-back{background:#fff;transform:rotateY(180deg);color:#334155;border:2px solid #00129a}.flipcard-back-text{font-size:.9rem;line-height:1.5}.sar-highlight-card{border-radius:12px;border:2px solid #00129a;background:linear-gradient(165deg,#f8fafc 0,#e5f5ff 100%);padding:1.25rem 1.5rem;box-shadow:0 4px 16px rgba(12,22,111,.08)}.sar-highlight-card:hover{box-shadow:0 8px 24px rgba(12,22,111,.12)}.sar-tabs{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.sar-tabs .nav-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.5rem .5rem 0}.sar-tabs .nav-link{border-radius:8px 8px 0 0;font-weight:600;color:#475569}.sar-tabs .nav-link.active{background:#fff;color:#00129a}.sar-tabs .tab-content{padding:1rem;background:#fff}.content-section .accordion .accordion-item{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem}.content-section .accordion .accordion-button{background:#f8fafc!important;font-weight:600;color:#334155}.content-section .accordion .accordion-button:not(.collapsed){background:#fff!important;color:#00129a}.policy-summary-box{border-radius:14px;border:2px solid #e2e8f0;background:#fff;padding:1rem}.policy-summary-box .policy-summary-title{font-weight:700;color:#0f172a}.policy-summary-box ul{padding-left:1.25rem;font-size:.9rem;font-weight:600;color:#0f172a}.policy-summary-box .policy-summary-divider{opacity:.12}.policy-summary-box .policy-summary-meta{font-size:.9rem;font-weight:600;color:#0f172a}.content-section .role-img{width:100%;max-width:100%}.content-section .role-img-narrow{width:90%;max-width:90%}.content-section .bg-primary{background-color:#00129a!important;color:#fff!important}.content-section .text-primary{color:#00129a!important}.content-section .border-primary{border-color:#6491e3!important}.content-section .text-bg-primary{background-color:#00129a!important;color:#fff!important}.content-section .badge.bg-primary{background-color:#00129a!important;color:#fff!important}.content-section .bg-success{background-color:#14b573!important;color:#fff!important}.content-section .text-success{color:#14b573!important}.content-section .border-success{border-color:#14b573!important}.content-section .text-bg-success{background-color:#14b573!important;color:#fff!important}.content-section .badge.bg-success{background-color:#14b573!important;color:#fff!important}.content-section .alert-success{background-color:#dcfce7!important;border-color:#14b573!important;color:#0a5c3d!important}.content-section .bg-info{background-color:#6491e3!important;color:#fff!important}.content-section .text-info{color:#6491e3!important}.content-section .border-info{border-color:#6491e3!important}.content-section .text-bg-info{background-color:#6491e3!important;color:#fff!important}.content-section .badge.bg-info{background-color:#6491e3!important;color:#fff!important}.content-section .alert-info{background-color:#e5f5ff!important;border-color:#6491e3!important;color:#00129a!important}.content-section .bg-warning{background-color:#6491e3!important;color:#fff!important;--bs-dark-rgb:255,255,255}.content-section .text-warning{color:#6491e3!important}.content-section .border-warning{border-color:#6491e3!important}.content-section .text-bg-warning{background-color:#6491e3!important;color:#fff!important}.content-section .badge.bg-warning{background-color:#6491e3!important;color:#fff!important}.content-section .alert-warning{background-color:#e5f5ff!important;border-color:#6491e3!important;color:#00129a!important}.content-section .bg-danger{background-color:#00129a!important;color:#fff!important}.content-section .text-danger{color:#00129a!important}.content-section .border-danger{border-color:#00129a!important}.content-section .text-bg-danger{background-color:#00129a!important;color:#fff!important}.content-section .badge.bg-danger{background-color:#00129a!important;color:#fff!important}.content-section .alert-danger{background-color:#e8f2fc!important;border-color:#00129a!important;color:#00129a!important}.content-section .text-secondary{color:#4a5568!important}.content-section .border-secondary{border-color:#cbd5e0!important}.content-section .bg-danger .badge.bg-white{background-color:rgba(255,255,255,.2)!important;color:#fff!important}.content-section .bg-danger .badge.text-danger{color:#fff!important}.content-section .card{transition:box-shadow .2s ease,border-color .2s ease}.content-section .card:hover{box-shadow:0 4px 16px rgba(14,76,146,.1)}body.course-page #moduleContentWrapper iframe,body.course-page #moduleContentWrapper img,body.course-page #moduleContentWrapper video{max-width:100%;height:auto;border-radius:12px}body.course-page #moduleContentWrapper .video-course{width:100%;aspect-ratio:16/9;object-fit:contain;background:#0f172a}.canvas-platform.canvas-course{--dash-sidebar:300px}.canvas-platform.canvas-course #campusCrmShell,.canvas-platform.canvas-course .admin-crm-shell{display:grid!important;grid-template-columns:var(--dash-sidebar) minmax(0,1fr)!important;min-height:100vh;align-items:start}.canvas-platform.canvas-course .admin-crm-sidebar,.canvas-platform.canvas-course .course-crm-sidebar,.canvas-platform.canvas-course .course-progress-sidebar{position:sticky!important;top:0!important;left:auto!important;inset:auto!important;transform:none!important;align-self:start;width:var(--dash-sidebar)!important;max-width:var(--dash-sidebar);min-width:0;height:100vh;max-height:100vh;z-index:2;box-sizing:border-box}.canvas-platform.canvas-course .admin-crm-main,.canvas-platform.canvas-course .course-crm-main{min-width:0!important;max-width:none!important;width:auto;overflow-x:hidden}@media (min-width:992px){.canvas-platform.canvas-course #campusCrmShell,.canvas-platform.canvas-course .admin-crm-shell{grid-template-columns:var(--dash-sidebar) minmax(0,1fr)!important}.canvas-platform.canvas-course .admin-crm-sidebar,.canvas-platform.canvas-course .course-crm-sidebar,.canvas-platform.canvas-course .course-progress-sidebar{position:sticky!important;transform:none!important;inset:auto!important}.canvas-platform.canvas-course #campusCrmShell::after,.canvas-platform.canvas-course .admin-crm-shell::after{content:none!important;display:none!important}}@media (max-width:991.98px){.canvas-platform.canvas-course #campusCrmShell,.canvas-platform.canvas-course .admin-crm-shell{grid-template-columns:minmax(0,1fr)!important}.canvas-platform.canvas-course .admin-crm-sidebar,.canvas-platform.canvas-course .course-progress-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(var(--dash-sidebar),88vw)!important;max-width:min(var(--dash-sidebar),88vw);transform:translateX(-105%)!important;transition:transform .2s ease;z-index:1040;box-shadow:var(--dash-shadow)}.canvas-platform.canvas-course #campusCrmShell.is-sidebar-open .admin-crm-sidebar,.canvas-platform.canvas-course .admin-crm-shell.is-sidebar-open .admin-crm-sidebar{transform:translateX(0)!important}}.canvas-platform.canvas-course .course-progress-sidebar{padding:1.25rem 1rem!important;background:var(--dash-surface)!important;border-right:1px solid var(--dash-border)!important}.canvas-platform.canvas-course .course-crm-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;color:var(--dash-muted);text-decoration:none;padding:.45rem .5rem;margin:0 -.5rem 1rem;border-radius:8px;transition:background .15s ease,color .15s ease}.canvas-platform.canvas-course .course-crm-back:hover{color:var(--dash-primary);background:var(--dash-soft)}.canvas-platform.canvas-course .course-crm-progress{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--dash-border)}.canvas-platform.canvas-course .course-crm-progress__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.canvas-platform.canvas-course .course-crm-progress__head .admin-crm-nav__group{padding:0;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.canvas-platform.canvas-course .course-crm-index{font-size:.6875rem;font-weight:700;padding:.2rem .5rem;background:#eef2ff;color:var(--dash-primary);border-radius:999px}.canvas-platform.canvas-course .course-progress-wrap .progress{height:8px;background:#e2e8f0;border-radius:999px}.canvas-platform.canvas-course .course-progress-wrap .progress-bar{background:var(--dash-primary)}.canvas-platform.canvas-course .course-progress-meta{display:flex;flex-wrap:wrap;gap:.35rem .75rem;margin-top:.375rem;font-size:.8125rem}.canvas-platform.canvas-course #courseProgressPct{font-weight:700;color:var(--dash-primary)}.canvas-platform.canvas-course .course-side-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.canvas-platform.canvas-course .course-side-stat{padding:.625rem .75rem;background:var(--dash-soft);border-radius:8px;font-size:.75rem;color:var(--dash-muted)}.canvas-platform.canvas-course .course-side-stat strong{display:block;font-size:1rem;font-weight:700;color:var(--dash-text)}.canvas-platform.canvas-course .course-crm-temario .admin-crm-nav__group{padding:0 0 .625rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.canvas-platform.canvas-course .module-button{display:flex;align-items:flex-start;gap:.625rem;width:100%;padding:.45rem .25rem;margin:0;font-size:.8125rem;font-weight:500;line-height:1.4;text-align:left;border:none!important;background:0 0!important;color:var(--dash-muted);box-shadow:none!important;transform:none!important;position:relative}.canvas-platform.canvas-course .module-button::before{content:"";position:absolute;left:.8125rem;top:1.625rem;bottom:-.35rem;width:1px;background:var(--dash-border)}.canvas-platform.canvas-course .module-button:last-child::before{display:none}.canvas-platform.canvas-course .module-button::after{display:none!important}.canvas-platform.canvas-course .module-button .module-index{width:1.375rem;height:1.375rem;font-size:.6875rem;font-weight:600;border-radius:50%;background:var(--dash-surface);border:1px solid var(--dash-border);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}.canvas-platform.canvas-course .module-button.active{color:var(--dash-primary);font-weight:600}.canvas-platform.canvas-course .module-button.active .module-index{background:var(--dash-primary);color:#fff;border-color:var(--dash-primary)}.canvas-platform.canvas-course .module-button.completed{color:var(--dash-text)}.canvas-platform.canvas-course .module-button.completed .module-index{background:#ecfdf5;color:var(--dash-success);border-color:transparent}.canvas-platform.canvas-course .module-button.locked{opacity:1;color:#94a3b8;cursor:not-allowed}.canvas-platform.canvas-course .module-button:not(.locked):hover{background:var(--dash-soft)!important;border-radius:8px!important}.canvas-platform.canvas-course .course-side-next{padding:.875rem 0;margin:.75rem 0;border-top:1px solid var(--dash-border);border-bottom:1px solid var(--dash-border)}.canvas-platform.canvas-course .course-side-next__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:.35rem}.canvas-platform.canvas-course .course-side-next__title{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;color:var(--dash-text);line-height:1.4}.canvas-platform.canvas-course .course-sidebar-note{font-size:.6875rem;color:#94a3b8;line-height:1.45;margin:.75rem 0 0;padding:0;border:none}.canvas-platform.canvas-course .course-hero{background:0 0!important;border:none!important;box-shadow:none!important;padding:0 0 1.25rem!important;margin:0 0 1rem!important;border-bottom:1px solid var(--dash-border)!important;border-radius:0!important}.canvas-platform.canvas-course .course-hero::before{display:none!important}.canvas-platform.canvas-course .content-header-pill,.canvas-platform.canvas-course .course-code-pill{font-size:.6875rem!important;font-weight:500!important;padding:.15rem .5rem!important;background:var(--dash-soft)!important;border:none!important;color:var(--dash-muted)!important;box-shadow:none!important}.canvas-platform.canvas-course .course-title-main{font-size:1.5rem!important;font-weight:700!important;color:var(--dash-text)!important;line-height:1.25!important}.canvas-platform.canvas-course .chip-pill{font-size:.8125rem!important;padding:0!important;border:none!important;background:0 0!important;color:var(--dash-muted)!important}.canvas-platform.canvas-course .course-audience-block{margin-top:.875rem;padding:.75rem 1rem;background:var(--dash-soft);border-radius:var(--dash-radius);max-width:640px}.canvas-platform.canvas-course .learning-panel{background:var(--dash-surface)!important;border:1px solid var(--dash-border)!important;border-radius:var(--dash-radius-lg)!important;box-shadow:var(--dash-shadow)!important;padding:1.5rem 1.75rem!important}.canvas-platform.canvas-course .course-topic-head{border-bottom:1px solid var(--dash-border);padding-bottom:.875rem;margin-bottom:1.25rem}.canvas-platform.canvas-course .course-topic-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.canvas-platform.canvas-course #currentModuleTitle{font-size:1.0625rem;font-weight:700}.canvas-platform.canvas-course .course-sidebar__brand{padding:.5rem .625rem .875rem;margin-bottom:.25rem;border-bottom:1px solid var(--dash-border);flex-direction:row;align-items:center;text-align:left;gap:.625rem}.canvas-platform.canvas-course .course-sidebar__brand>div{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:auto;flex:1 1 auto;min-width:0}.canvas-platform.canvas-course .course-sidebar__brand .admin-crm-sidebar__sub{font-size:.6875rem;color:var(--dash-primary);font-weight:600}.canvas-platform.canvas-course .dash-header--course .dash-header__actions{margin-left:0}.canvas-platform.canvas-course .dash-header--course .dash-header__profile{margin-left:0}.canvas-platform.canvas-course .dash-header__title{font-size:1.25rem;line-height:1.3;max-width:28rem}.canvas-platform.canvas-course .course-alert-banner{padding:.875rem 1.125rem;margin-bottom:1rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:var(--dash-radius)}.canvas-platform.canvas-course .course-alert-banner__text{font-size:.875rem;font-weight:600;color:var(--dash-text)}.canvas-platform.canvas-course .course-alert-banner__detail{font-size:.8125rem;color:var(--dash-muted);margin-left:auto}.canvas-platform.canvas-course .course-quiz-panel{margin-top:1.25rem;padding:1.125rem 1.25rem;background:var(--dash-soft);border:1px solid var(--dash-border);border-radius:var(--dash-radius)}.canvas-platform.canvas-course .course-quiz-panel__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:700;color:var(--dash-text)}.canvas-platform.canvas-course .course-quiz-panel__head i{color:var(--dash-primary);font-size:1.125rem}.canvas-platform.canvas-course #finalQuizQuestionText,.canvas-platform.canvas-course .course-quiz-panel__question{font-size:1rem;font-weight:600;line-height:1.5;color:var(--dash-text)}.canvas-platform.canvas-course .course-quiz-options{display:flex;flex-direction:column;gap:.5rem;overflow-anchor:none}.canvas-platform.canvas-course .course-quiz-option{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;margin:0;background:var(--dash-surface);border:1.5px solid var(--dash-border);border-radius:12px;cursor:pointer;user-select:none;transition:border-color .15s ease,background .15s ease;touch-action:manipulation}.canvas-platform.canvas-course .course-quiz-option:hover{border-color:color-mix(in srgb,var(--dash-primary) 35%,var(--dash-border));background:#fff}.canvas-platform.canvas-course .course-quiz-option:has(.course-quiz-option__input:checked){border-color:var(--dash-primary);background:color-mix(in srgb,var(--dash-primary) 6%,#fff)}.canvas-platform.canvas-course .course-quiz-option:has(.course-quiz-option__input:disabled){cursor:default}.canvas-platform.canvas-course .course-quiz-option:has(.course-quiz-option__input:disabled):not(:has(.course-quiz-option__input:checked)){opacity:.72}.canvas-platform.canvas-course .course-quiz-option__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2;scroll-margin:0}.canvas-platform.canvas-course .course-quiz-option__input:focus{outline:0}.canvas-platform.canvas-course .course-quiz-option__marker{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1rem;border:2px solid var(--dash-border);border-radius:50%;background:#fff;position:relative;z-index:1;pointer-events:none;transition:border-color .15s ease,box-shadow .15s ease}.canvas-platform.canvas-course .course-quiz-option__marker::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--dash-primary);transform:scale(0);transition:transform .15s ease}.canvas-platform.canvas-course .course-quiz-option:has(.course-quiz-option__input:checked) .course-quiz-option__marker{border-color:var(--dash-primary)}.canvas-platform.canvas-course .course-quiz-option:has(.course-quiz-option__input:checked) .course-quiz-option__marker::after{transform:scale(1)}.canvas-platform.canvas-course .course-quiz-option:has(.course-quiz-option__input:focus-visible){outline:2px solid var(--dash-primary);outline-offset:2px}.canvas-platform.canvas-course .course-quiz-option__text{flex:1;min-width:0;font-size:.9375rem;line-height:1.45;font-weight:500;color:var(--dash-text);position:relative;z-index:1;pointer-events:none}.canvas-platform.canvas-course .course-quiz-panel__help{margin:.75rem 0 0;font-size:.75rem;color:var(--dash-muted)}.canvas-platform.canvas-course .course-nav-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--dash-border)}.canvas-platform.canvas-course .course-nav-footer--final{border-top:1px solid var(--dash-border);padding-top:1rem;margin-top:auto}.canvas-platform.canvas-course .dash-btn--sm{height:36px;padding:0 .875rem;font-size:.8125rem}.canvas-platform.canvas-course #finalQuizProgressBar{display:block;height:100%;width:0%;background:var(--dash-primary);border-radius:999px;transition:width .3s ease}.canvas-platform.canvas-course .completion-card.canvas-panel{max-width:640px;margin:0 auto}.canvas-platform.canvas-course .completion-card .dash-btn+.dash-btn{margin-left:0}.canvas-platform.canvas-course #downloadCertificateBtn,.canvas-platform.canvas-course #finalQuizSubmitBtn,.canvas-platform.canvas-course #nextModuleBtn,.canvas-platform.canvas-course #prevModuleBtn,.canvas-platform.canvas-course #quizSubmitBtn{box-shadow:none!important}.canvas-platform.canvas-course .sar-role-card{background:var(--dash-soft)!important;border-left-width:3px!important;border-radius:var(--dash-radius)!important}.canvas-platform.canvas-course .course-crm-logout,.canvas-platform.canvas-course .dash-header--course .dash-btn--ghost{height:40px;min-width:40px;padding:0 .875rem;border:1px solid var(--dash-border);border-radius:var(--dash-radius);background:var(--dash-surface);font-size:.8125rem;font-weight:600;color:var(--dash-muted)}body.canvas-platform.canvas-course{display:block;min-height:100vh;overflow-x:hidden}body.canvas-platform.canvas-course .site-footer{display:none!important}body.canvas-platform.canvas-course main.admin-crm-wrap{min-height:0}.canvas-platform.canvas-course .course-crm-main{min-width:0;min-height:0;padding-top:.75rem;padding-bottom:1.5rem}.canvas-platform.canvas-course .course-crm-content,.canvas-platform.canvas-course .course-view{min-height:0}.canvas-platform.canvas-course #finalQuizPanel.flex-column:not(.d-none){display:flex;flex-direction:column;min-height:0}.canvas-platform.canvas-course #finalQuizOptions{flex-grow:0!important}.canvas-platform.canvas-course .course-progress-sidebar{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.canvas-platform.canvas-course .course-sidebar__brand{flex-shrink:0;display:flex!important}.canvas-platform.canvas-course .course-sidebar__brand .campus-crm-brand-img{width:4.75rem!important;max-width:4.75rem;margin:0}.canvas-platform.canvas-course #courseSidebar{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.canvas-platform.canvas-course .course-crm-temario{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;margin-bottom:.5rem}.canvas-platform.canvas-course .course-crm-modules{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin}.canvas-platform.canvas-course .course-crm-progress__head{margin-bottom:.625rem}.canvas-platform.canvas-course .course-progress-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem}.canvas-platform.canvas-course .course-crm-index{flex-shrink:0;white-space:nowrap}.canvas-platform.canvas-course .course-progress-count{flex:1 1 100%;line-height:1.35}.canvas-platform.canvas-course .course-side-next,.canvas-platform.canvas-course .course-sidebar-note,.canvas-platform.canvas-course .course-sidebar__foot{flex-shrink:0}.canvas-platform.canvas-course .module-button{align-items:flex-start!important;transform:none!important;box-shadow:none!important;border:none!important;background:0 0!important}.canvas-platform.canvas-course .module-button.active{background:rgba(0,18,154,.06)!important;border-radius:8px!important;color:var(--dash-primary)!important;transform:none!important;box-shadow:none!important}.canvas-platform.canvas-course .module-button.completed{background:0 0!important;transform:none!important}.canvas-platform.canvas-course .module-button span.flex-grow-1{overflow:visible!important;text-overflow:unset!important;white-space:normal!important;word-break:break-word;line-height:1.4;min-width:0;flex:1 1 auto}.canvas-platform.canvas-course .module-button .module-lock-icon{flex-shrink:0;margin-top:.125rem}.canvas-platform.canvas-course .dash-header--course{flex-wrap:nowrap;align-items:center;gap:.75rem;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--dash-border)}.canvas-platform.canvas-course .dash-header--course .dash-header__copy{flex:0 1 auto;min-width:0;max-width:16rem}.canvas-platform.canvas-course .dash-header--course .dash-header__title{font-size:.9375rem;font-weight:600;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-platform.canvas-course .dash-header--course .dash-header__nav{flex:1 1 auto;justify-content:center;margin:0;min-width:0}.canvas-platform.canvas-course .dash-header--course .dash-header__actions{flex:0 0 auto;margin-left:0}.canvas-platform.canvas-course .course-hero-card{margin-bottom:1rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow);overflow:hidden}.canvas-platform.canvas-course .course-hero-card__main{display:grid;grid-template-columns:minmax(0,1fr) minmax(72px,108px);gap:0;min-height:0}.canvas-platform.canvas-course .course-hero-card__copy{padding:.75rem 1.125rem .65rem;min-width:0}.canvas-platform.canvas-course .course-hero-card__eyebrow{margin:0 0 .2rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.canvas-platform.canvas-course .course-hero-card__title{margin:0 0 .2rem;font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:700;color:var(--dash-text);line-height:1.2}.canvas-platform.canvas-course .course-hero-card__meta{margin:0;font-size:.75rem;font-weight:500;color:var(--dash-muted);line-height:1.35}.canvas-platform.canvas-course .course-hero-card__visual{position:relative;background:linear-gradient(135deg,#eef2ff 0,#dbeafe 45%,#f8fafc 100%);border-left:1px solid var(--dash-border)}.canvas-platform.canvas-course .course-hero-card__visual-inner{display:flex;align-items:center;justify-content:center;height:100%;min-height:0;padding:.5rem;font-size:2rem;color:rgba(0,18,154,.18)}.canvas-platform.canvas-course .course-hero-card__foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;align-items:center;padding:.5rem 1.125rem .6rem;border-top:1px solid var(--dash-border);background:#fafbfd}.canvas-platform.canvas-course .course-hero-card__progress{min-width:0}.canvas-platform.canvas-course .course-hero-card__progress-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.canvas-platform.canvas-course .course-hero-card__progress-label{font-size:.8125rem;font-weight:600;color:var(--dash-text)}.canvas-platform.canvas-course .course-hero-card__progress-pct{font-size:.8125rem;font-weight:700;color:var(--dash-primary)}.canvas-platform.canvas-course .course-hero-card__bar{height:6px;background:#e2e8f0;border-radius:999px}.canvas-platform.canvas-course .course-hero-card__bar .progress-bar{background:var(--dash-primary);border-radius:999px}.canvas-platform.canvas-course .course-hero-card__progress-hint{margin:.2rem 0 0;font-size:.6875rem;color:var(--dash-muted);line-height:1.3}.canvas-platform.canvas-course .course-hero-card__progress-empty{margin:.2rem 0 0;font-size:.75rem;color:var(--dash-muted)}.canvas-platform.canvas-course .course-hero-card__stats{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.35rem .875rem;padding-left:.875rem;border-left:1px solid var(--dash-border);min-width:0}.canvas-platform.canvas-course .course-hero-card__stat{display:flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:var(--dash-primary);white-space:nowrap}.canvas-platform.canvas-course .course-hero-card__stat i{font-size:.8125rem;opacity:.85}@media (max-width:767.98px){.canvas-platform.canvas-course .course-hero-card__main{grid-template-columns:1fr}.canvas-platform.canvas-course .course-hero-card__visual{display:none}.canvas-platform.canvas-course .course-hero-card__foot{grid-template-columns:1fr;padding:.5rem 1rem .6rem}.canvas-platform.canvas-course .course-hero-card__stats{border-left:none;padding-left:0;padding-top:.35rem;border-top:1px solid var(--dash-border)}}.canvas-platform.canvas-course .course-content-panel{padding:1.25rem 1.5rem;background:var(--dash-surface);border:1px solid var(--dash-border);border-radius:var(--dash-radius-lg);box-shadow:var(--dash-shadow)}.canvas-platform.canvas-course .course-content-panel__head{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--dash-border)}.canvas-platform.canvas-course .course-content-panel__label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:.25rem}.canvas-platform.canvas-course .course-content-panel__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--dash-text)}.canvas-platform.canvas-course .course-content-panel__body{min-width:0}.canvas-platform.canvas-course .course-content-panel__foot{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--dash-border)}.canvas-platform.canvas-course .course-empty-state{padding:2rem 1.5rem;text-align:center;color:var(--dash-muted);font-size:.9375rem}.canvas-platform.canvas-course .course-empty-inline{margin:0;color:var(--dash-muted);font-size:.9375rem}.canvas-platform.canvas-course .dash-header--course{padding-bottom:.5rem;margin-bottom:.25rem;border-bottom:1px solid var(--dash-border)}.canvas-platform.canvas-course .module-button.locked{opacity:.72;cursor:not-allowed}.canvas-platform.canvas-course .module-button.completed .module-index{background:#ecfdf5;color:var(--dash-success)}.canvas-platform.canvas-course .module-button.active{background:#eef2ff;border-color:rgba(0,18,154,.15)}@media (max-width:991.98px){.canvas-platform.canvas-course .dash-header--course{flex-wrap:wrap}.canvas-platform.canvas-course .dash-header--course .dash-header__copy{max-width:none;flex:1 1 100%}.canvas-platform.canvas-course .dash-header--course .dash-header__nav{order:3;flex:1 1 100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.125rem}}
/* Catálogo · toggle lista / cuadrícula */
.catalog-list-header{align-items:center!important}
.catalog-list-header__copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.catalog-view-toggle{display:inline-flex;align-items:stretch;border:1px solid var(--dash-border,#e2e8f0);border-radius:999px;overflow:hidden;background:var(--dash-surface,#fff);flex-shrink:0}
.catalog-view-toggle__btn{display:grid;place-items:center;width:2.35rem;height:2rem;padding:0;border:none;background:transparent;color:var(--dash-muted,#64748b);cursor:pointer;transition:background .15s ease,color .15s ease}
.catalog-view-toggle__btn+.catalog-view-toggle__btn{border-left:1px solid var(--dash-border,#e2e8f0)}
.catalog-view-toggle__btn.is-active{background:var(--color-surface-soft,#EBF1FC);color:var(--color-primary,#00129A)}
.catalog-view-toggle__btn:focus-visible{outline:2px solid var(--color-secondary,#6491E3);outline-offset:2px}
.catalog-list--grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;padding:1rem 1.25rem!important;flex-direction:unset!important}
.catalog-list--grid .catalog-card{display:flex;flex-direction:column;gap:.55rem;padding:1rem;border:1px solid var(--dash-border,#e2e8f0);border-radius:10px;background:var(--dash-surface,#fff);min-height:100%;margin:0!important;border-bottom:1px solid var(--dash-border,#e2e8f0)!important}
.catalog-list--grid .catalog-card--soon{opacity:.55}
.catalog-card__status{font-size:1.2rem;line-height:1}
.catalog-card__status.catalog-row__status--done{color:#16a34a}
.catalog-card__status.catalog-row__status--progress{color:var(--color-secondary,#6491E3)}
.catalog-card__status.catalog-row__status--pending{color:#94a3b8}
.catalog-card__title{margin:0;font-size:.875rem;font-weight:700;color:var(--dash-text,#0f172a);line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.catalog-card__meta{margin:0;font-size:.75rem;font-weight:600;color:var(--dash-muted,#64748b);line-height:1.45}
.catalog-card__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;padding-top:.25rem}
@media (max-width:576px){.catalog-list--grid{grid-template-columns:1fr}.catalog-list-header{flex-wrap:wrap}}

/* Catálogo lista · espaciado equilibrado */
.canvas-catalog-page .catalog-course-list-wrap,
.canvas-dashboard .catalog-course-list-wrap{padding:0!important;margin:0!important}
.canvas-catalog-page .catalog-list--list,
.canvas-dashboard .catalog-list--list{padding:.375rem 0 .5rem!important;margin:0!important;gap:0!important}
.canvas-catalog-page .catalog-content-panel .catalog-list--list>.catalog-row--browse,
.canvas-dashboard .catalog-content-panel .catalog-list--list>.catalog-row--browse{padding:.75rem 1.25rem!important}
.canvas-catalog-page .catalog-list-header,
.canvas-dashboard .catalog-content-panel .catalog-list-header{padding-top:.875rem!important;padding-bottom:.75rem!important}

/* SAR · acentos de color (sutil) */
:root{--sar-glow:rgba(100,145,227,.24);--sar-line:rgba(100,145,227,.22)}
.canvas-platform.canvas-dashboard{background:linear-gradient(180deg,#f5f8fd 0,var(--color-bg,#f1f5f9) 14rem)}
.dash-header__eyebrow{color:var(--color-secondary,#6491E3)!important;font-weight:700!important;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem!important}
.admin-crm-nav__link.is-active{
  border-left:0!important;
  background:linear-gradient(135deg,rgba(255,255,255,.78) 0%,rgba(235,241,252,.58) 100%)!important;
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(15,23,42,.04),0 8px 20px rgba(0,18,154,.1)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  color:var(--color-primary,#00129A)!important;
  border-radius:999px!important;
}
.canvas-catalog-page .catalog-content-panel{border-color:rgba(0,18,154,.1)!important;box-shadow:0 6px 22px rgba(0,18,154,.07)!important}
.canvas-catalog-page .catalog-list-header{background:linear-gradient(180deg,#f8faff 0,#fff 100%)!important;border-bottom-color:var(--sar-line)!important}
.canvas-catalog-page .catalog-content-panel .catalog-row--browse{transition:background .15s ease}
.canvas-catalog-page .catalog-content-panel .catalog-row--browse:hover{background:linear-gradient(90deg,rgba(235,241,252,.7) 0%,rgba(255,255,255,0) 62%)!important}
.canvas-catalog-page .catalog-row__status{width:2rem;height:2rem;border-radius:50%;display:grid!important;place-items:center;font-size:.95rem!important}
.canvas-catalog-page .catalog-row__status--progress{background:var(--color-surface-soft,#EBF1FC);color:var(--color-primary,#00129A)}
.canvas-catalog-page .catalog-row__status--done{background:rgba(25,135,84,.12);color:var(--color-success,#198754)}
.canvas-catalog-page .catalog-row__status--pending{background:#eef2f8;color:#64748b}
.catalog-cta--continue,
.dash-btn--primary,
.btn-start,
.canvas-dashboard .catalog-chip.is-active{
  background:linear-gradient(180deg,#7aa3eb 0%,var(--color-primary,#00129A) 100%)!important;
  border-color:var(--color-primary,#00129A)!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:0 4px 14px rgba(0,18,154,.22)!important;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease
}
.catalog-cta--continue i,
.catalog-cta--continue .fa-solid,
.dash-btn--primary i,
.dash-btn--primary .fa-solid,
.btn-start i,
.btn-start .fa-solid,
.canvas-dashboard .catalog-chip.is-active i,
.canvas-dashboard .catalog-chip.is-active .fa-solid{
  color:#fff!important;
  opacity:1!important
}
.catalog-cta--continue:hover:not(:disabled),
.dash-btn--primary:hover:not(:disabled),
.btn-start:hover:not(:disabled){
  color:#fff!important;
  filter:brightness(1.06);
  box-shadow:0 6px 18px rgba(0,18,154,.28)!important;
  transform:translateY(-1px)
}
.catalog-cta--continue:hover:not(:disabled) i,
.catalog-cta--continue:hover:not(:disabled) .fa-solid,
.dash-btn--primary:hover:not(:disabled) i,
.dash-btn--primary:hover:not(:disabled) .fa-solid,
.btn-start:hover:not(:disabled) i,
.btn-start:hover:not(:disabled) .fa-solid{
  color:#fff!important
}
.btn-start{border:none!important}
.catalog-list--grid .catalog-card{transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.catalog-list--grid .catalog-card:hover{border-color:rgba(100,145,227,.45)!important;box-shadow:0 8px 22px rgba(0,18,154,.08)!important;transform:translateY(-2px)}
.catalog-view-toggle__btn.is-active{background:var(--color-surface-soft,#EBF1FC)!important;color:var(--color-primary,#00129A)!important;box-shadow:inset 0 -2px 0 var(--color-primary,#00129A)}
@media (prefers-reduced-motion:reduce){.catalog-cta--continue:hover:not(:disabled),.dash-btn--primary:hover:not(:disabled),.catalog-list--grid .catalog-card:hover,.btn-start:hover:not(:disabled){transform:none;filter:none}}

/* SAR · ranking y logros (sutil) */
body.ranking-page .admin-crm-main{background:linear-gradient(180deg,#f5f8fd 0,var(--color-bg,#f1f5f9) 12rem)}
body.ranking-page .gamify-hero{background:linear-gradient(135deg,#fff 0%,var(--color-surface-soft,#EBF1FC) 58%,rgba(100,145,227,.12) 100%)!important;border-color:rgba(0,18,154,.1)!important;box-shadow:0 8px 24px rgba(0,18,154,.07)!important}
body.ranking-page .gamify-hero__rank{color:var(--color-secondary,#6491E3)!important;font-weight:700!important;letter-spacing:.03em;text-transform:uppercase;font-size:.72rem!important}
body.ranking-page .gamify-hero__level{color:var(--color-primary,#00129A)!important}
body.ranking-page .gamify-hero__bar .dash-progress__track{background:rgba(0,18,154,.08)!important}
body.ranking-page .gamify-hero__bar .dash-progress__fill{background:linear-gradient(90deg,var(--color-secondary,#6491E3) 0%,var(--color-primary,#00129A) 100%)!important}
body.ranking-page .gamify-stat{background:linear-gradient(180deg,#fff 0%,var(--color-surface-soft,#EBF1FC) 100%)!important;border-color:var(--sar-line,rgba(100,145,227,.22))!important;transition:transform .15s ease,box-shadow .15s ease}
body.ranking-page .gamify-stat:hover{box-shadow:0 4px 14px rgba(0,18,154,.06);transform:translateY(-1px)}
body.ranking-page .gamify-stat i{color:var(--color-primary,#00129A)!important}
body.ranking-page .gamify-stat strong{color:var(--color-primary,#00129A)!important}
body.ranking-page .canvas-panel{border-color:rgba(0,18,154,.09)!important;box-shadow:0 4px 18px rgba(0,18,154,.05)!important}
body.ranking-page .canvas-panel__title i{color:var(--color-secondary,#6491E3)!important;margin-right:.35rem}
body.ranking-page .rank-podium__item{transition:background .15s ease,border-color .15s ease,transform .15s ease}
body.ranking-page .rank-podium__item--1{border-color:rgba(202,138,4,.35)!important;background:linear-gradient(90deg,#fffbeb 0%,#fff 72%)!important;box-shadow:inset 3px 0 0 #ca8a04}
body.ranking-page .rank-podium__item--2{border-color:var(--sar-line)!important;background:linear-gradient(90deg,var(--color-surface-soft,#EBF1FC) 0%,#fff 72%)!important;box-shadow:inset 3px 0 0 var(--color-secondary,#6491E3)}
body.ranking-page .rank-podium__item--3{border-color:rgba(100,145,227,.28)!important;background:linear-gradient(90deg,#f0f4fc 0%,#fff 72%)!important;box-shadow:inset 3px 0 0 var(--color-primary,#00129A)}
body.ranking-page .rank-podium__pos .ranking-medal.medal-1{color:#ca8a04!important}
body.ranking-page .rank-podium__pos .ranking-medal.medal-2{color:var(--color-secondary,#6491E3)!important}
body.ranking-page .rank-podium__pos .ranking-medal.medal-3{color:var(--color-primary,#00129A)!important}
body.ranking-page .rank-my-position__line{background:var(--color-surface-soft,#EBF1FC)!important;border-color:var(--sar-line)!important;color:var(--color-text,#0f172a)!important}
body.ranking-page .rank-my-position__line.is-me{border-color:rgba(0,18,154,.18)!important;box-shadow:0 0 0 1px rgba(100,145,227,.15)}
body.ranking-page .rank-nearby__item{padding:.35rem .5rem;border-radius:8px;transition:background .12s ease}
body.ranking-page .rank-nearby__item:hover{background:rgba(235,241,252,.75)}
body.ranking-page .gamify-badge{border-color:var(--sar-line)!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
body.ranking-page .gamify-badge.is-unlocked{border-color:rgba(0,18,154,.2)!important;background:linear-gradient(180deg,#fff 0%,var(--color-surface-soft,#EBF1FC) 100%)!important;box-shadow:0 4px 12px rgba(0,18,154,.06)}
body.ranking-page .gamify-badge.is-unlocked .gamify-badge__icon{color:var(--color-primary,#00129A)!important}
body.ranking-page .gamify-badge__bar .dash-progress__fill{background:linear-gradient(90deg,var(--color-secondary,#6491E3),var(--color-primary,#00129A))!important}
body.ranking-page .rank-board-tabs__btn.is-active{
  background:linear-gradient(180deg,#7aa3eb 0%,var(--color-primary,#00129A) 100%)!important;
  border-color:var(--color-primary,#00129A)!important;
  color:#fff!important;
  border-radius:999px!important
}
body.ranking-page .rank-board-tabs__btn.is-active i,
body.ranking-page .rank-board-tabs__btn.is-active .fa-solid{color:#fff!important}
body.ranking-page .rank-board-tabs__btn:not(.is-active):hover{border-color:rgba(100,145,227,.45)!important;color:var(--color-primary,#00129A)!important;background:var(--color-surface-soft,#EBF1FC)!important}
body.ranking-page .ranking-table tbody tr{transition:background .12s ease}
body.ranking-page .ranking-table tbody tr:hover{background:rgba(235,241,252,.55)!important}
body.ranking-page .ranking-table .rank-row.rank-1{background:linear-gradient(90deg,rgba(255,251,235,.7) 0%,transparent 70%)}
body.ranking-page .ranking-table .rank-row.rank-2{background:linear-gradient(90deg,rgba(235,241,252,.65) 0%,transparent 70%)}
body.ranking-page .ranking-table .rank-row.rank-3{background:linear-gradient(90deg,rgba(240,244,252,.75) 0%,transparent 70%)}
body.ranking-page .ranking-table .rank-me-tag{background:var(--color-primary,#00129A)!important;color:#fff!important}
body.ranking-page .rank-panel-action{transition:border-color .15s ease,background .15s ease,color .15s ease}
body.ranking-page .rank-panel-action:hover{border-color:rgba(100,145,227,.45)!important;background:var(--color-surface-soft,#EBF1FC)!important;color:var(--color-primary,#00129A)!important}
@media (prefers-reduced-motion:reduce){body.ranking-page .gamify-stat:hover{transform:none}}

/* Login · select Perfil alineado con inputs */
body.login-page .login-card .field .form-select{
  height:auto!important;
  min-height:3.125rem!important;
  line-height:1.4!important;
  padding-top:.75rem!important;
  padding-bottom:.75rem!important;
  display:block;
  appearance:none;
  -webkit-appearance:none;
}
body.login-page .login-card .field-select .form-select{
  cursor:pointer;
}

/* Admin · modales usuario (campos con icono como login) */
.admin-user-modal .field{position:relative}
.admin-user-modal .field>i{
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  color:var(--color-secondary,#6491E3);
  pointer-events:none;
  font-size:1.05rem;
  z-index:2;
}
.admin-user-modal .field:focus-within>i{color:var(--color-primary,#00129A)}
.admin-user-modal .field .form-control,
.admin-user-modal .field .form-select{
  height:auto!important;
  min-height:2.875rem!important;
  border-radius:14px!important;
  border:2px solid rgba(0,18,154,.12)!important;
  background:#fff!important;
  padding:.7rem 1rem .7rem 2.85rem!important;
  font-size:.9375rem!important;
  font-weight:500!important;
  line-height:1.4!important;
  box-shadow:0 2px 8px rgba(0,18,154,.04)!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
.admin-user-modal .field .form-select{
  appearance:none!important;
  -webkit-appearance:none!important;
  padding-right:2.5rem!important;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2300129A' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")!important;
  background-repeat:no-repeat!important;
  background-position:right .85rem center!important;
  background-size:14px 10px!important;
  cursor:pointer;
}
.admin-user-modal .field .form-control:hover,
.admin-user-modal .field .form-select:hover{
  border-color:rgba(100,145,227,.45)!important;
}
.admin-user-modal .field .form-control:focus,
.admin-user-modal .field .form-select:focus{
  border-color:var(--color-primary,#00129A)!important;
  box-shadow:0 0 0 4px rgba(100,145,227,.18)!important;
}
.admin-user-modal .field:has(.toggle-pass) .form-control{padding-right:2.75rem!important}
.admin-user-modal .toggle-pass{
  position:absolute;
  top:50%;
  right:.35rem;
  transform:translateY(-50%);
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.25rem;
  height:2.25rem;
  margin:0;
  padding:0;
  border:none;
  border-radius:10px;
  background:transparent;
  color:#64748b;
  cursor:pointer;
}
.admin-user-modal .toggle-pass:hover{
  background:var(--color-surface-soft,#EBF1FC);
  color:var(--color-primary,#00129A);
}
.admin-user-modal .field .form-control.bg-light{background:#f8fafc!important}

/* Portal · modal publicar documento */
.portal-upload-modal .modal-header{
  border-bottom:1px solid rgba(0,18,154,.08);
  padding:1rem 1.25rem;
}
.portal-upload-modal .modal-body{padding:1.25rem 1.25rem .5rem}
.portal-upload-modal .form-label{
  font-size:.8125rem;
  color:var(--color-text,#0f172a);
  margin-bottom:.4rem;
}
.portal-upload-modal__badge{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.15rem .55rem;
  border-radius:999px;
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--color-primary,#00129A);
  background:var(--color-surface-soft,#EBF1FC);
  border:1px solid rgba(100,145,227,.28);
}
.portal-upload-modal__footer{
  border-top:1px solid rgba(0,18,154,.08);
  padding:.85rem 1.25rem 1rem;
  gap:.5rem;
}
.portal-upload-modal .upload-file-wrap{position:relative}
.portal-upload-modal .upload-file-input{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.portal-upload-modal .upload-file-btn{
  display:flex;
  align-items:center;
  gap:.85rem;
  width:100%;
  min-height:3.125rem;
  margin:0;
  padding:.75rem 1rem;
  border:2px dashed rgba(100,145,227,.45);
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,var(--color-surface-soft,#EBF1FC) 100%);
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.portal-upload-modal .upload-file-btn:hover{
  border-color:var(--color-secondary,#6491E3);
  box-shadow:0 4px 14px rgba(0,18,154,.06);
}
.portal-upload-modal .upload-file-btn.has-file,
.portal-upload-modal .upload-file-input:focus-visible+.upload-file-btn{
  border-style:solid;
  border-color:var(--color-primary,#00129A);
  background:#fff;
  box-shadow:0 0 0 4px rgba(100,145,227,.15);
}
.portal-upload-modal .upload-file-btn>i{
  font-size:1.35rem;
  color:var(--color-primary,#00129A);
  flex-shrink:0;
}
.portal-upload-modal .upload-file-btn__text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  text-align:left;
}
.portal-upload-modal .upload-file-btn__text span{
  font-size:.9375rem;
  font-weight:600;
  color:var(--color-text,#0f172a);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.portal-upload-modal .upload-file-btn__text small{
  font-size:.75rem;
  color:#64748b;
  font-weight:500;
}
.portal-upload-modal .upload-file-btn.has-file .upload-file-btn__text span{
  color:var(--color-primary,#00129A);
}

.portal-upload-modal-dialog.modal-dialog{
  max-height:calc(100vh - 2rem);
  margin-top:1rem;
  margin-bottom:1rem;
}
.portal-upload-modal-dialog .modal-content{
  max-height:calc(100vh - 2rem);
  overflow:hidden;
}
.portal-upload-modal-dialog form{
  display:flex;
  flex-direction:column;
  min-height:0;
  flex:1 1 auto;
}
.portal-upload-modal-dialog .modal-body{
  overflow-y:auto;
  flex:1 1 auto;
  max-height:min(68vh,560px);
  -webkit-overflow-scrolling:touch;
}
.portal-upload-modal-dialog .modal-footer{
  flex-shrink:0;
}

/* Admin · acciones rápidas y control documental */
.admin-quick-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin:0 0 1.25rem;
}
.admin-quick-action{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.85rem 1rem;
  border:1px solid rgba(0,18,154,.1);
  border-radius:12px;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  color:var(--color-text,#0f172a);
  font-weight:700;
  font-size:.875rem;
  text-align:left;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.admin-quick-action i{
  width:2rem;
  height:2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(0,18,154,.08);
  color:var(--color-primary,#00129A);
  flex-shrink:0;
}
.admin-quick-action:hover,
.admin-quick-action:focus-visible{
  border-color:rgba(0,18,154,.28);
  box-shadow:0 6px 18px rgba(0,18,154,.08);
  transform:translateY(-1px);
  outline:none;
}
.admin-docs-overview{
  margin-top:1.25rem;
}
.admin-docs-overview__metrics{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.75rem;
}
.admin-docs-overview__item{
  padding:.85rem 1rem;
  border-radius:12px;
  background:var(--color-surface-soft,#EBF1FC);
  border:1px solid rgba(0,18,154,.06);
}
.admin-docs-overview__item--warn{
  background:#fff7ed;
  border-color:rgba(146,64,14,.12);
}
.admin-docs-overview__label{
  display:block;
  font-size:.75rem;
  font-weight:700;
  color:var(--color-text-muted,#475569);
  margin-bottom:.25rem;
}
.admin-docs-overview__value{
  font-size:1.35rem;
  font-weight:800;
  color:var(--color-primary,#00129A);
  line-height:1.1;
}
.admin-panel-toolbar--docs{
  flex-wrap:wrap;
  gap:.65rem;
  align-items:flex-end;
}
.admin-docs-filter-field{
  min-width:8.5rem;
}
.admin-docs-shell{
  padding:0 0 1rem;
}
.admin-docs-list-wrap{
  overflow:auto;
}
.admin-docs-list-head,
.admin-docs-row{
  display:grid;
  grid-template-columns:minmax(14rem,2.2fr) .9fr .9fr .85fr .7fr auto;
  gap:.75rem;
  align-items:center;
  padding:.85rem 1.1rem;
}
.admin-docs-list-head{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#64748b;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
}
.admin-docs-row{
  border-bottom:1px solid rgba(15,23,42,.06);
}
.admin-docs-row:hover{
  background:rgba(0,18,154,.025);
}
.admin-docs-row__doc{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:.1rem;
}
.admin-docs-row__code{
  font-size:.72rem;
  font-weight:800;
  color:var(--color-primary,#00129A);
  letter-spacing:.02em;
}
.admin-docs-row__title{
  font-size:.95rem;
  font-weight:800;
  color:var(--color-text,#0f172a);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-docs-row__meta{
  font-size:.78rem;
  color:#64748b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-docs-row__cell{
  font-size:.84rem;
  font-weight:600;
  color:#334155;
}
.admin-docs-row__actions{
  display:flex;
  justify-content:flex-end;
  gap:.35rem;
  flex-wrap:wrap;
}
.admin-docs-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.6rem;
  padding:.15rem .55rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  width:fit-content;
}
.admin-docs-status--is-live{
  background:rgba(25,135,84,.12);
  color:#146c43;
}
.admin-docs-status--is-review{
  background:rgba(146,64,14,.12);
  color:#92400e;
}
.admin-docs-status--is-obsolete{
  background:rgba(159,18,57,.1);
  color:#9f1239;
}
.admin-docs-local-tag{
  font-size:.68rem;
  font-weight:800;
  color:#64748b;
  border:1px solid rgba(100,116,139,.25);
  border-radius:999px;
  padding:.15rem .45rem;
}
@media (max-width:1100px){
  .admin-quick-actions,
  .admin-docs-overview__metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-docs-list-head{display:none}
  .admin-docs-row{
    grid-template-columns:1fr 1fr;
    gap:.5rem .75rem;
  }
  .admin-docs-row__doc,
  .admin-docs-row__actions{
    grid-column:1 / -1;
  }
  .admin-docs-row__actions{justify-content:flex-start}
}
@media (max-width:640px){
  .admin-quick-actions,
  .admin-docs-overview__metrics{
    grid-template-columns:1fr;
  }
}

/* ── Repositorio documental (explorador) ── */
body.portal-page .repo-shell{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  min-height:calc(100vh - 9.5rem);
}
body.portal-page #repoSectionTitle,
body.portal-page #portalIntro{
  position:static;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  overflow:visible;
  clip:auto;
  white-space:normal;
  border:0;
}
.repo-shell__toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.75rem .9rem;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
}
.repo-pathbar{
  display:flex;
  align-items:center;
  gap:.35rem;
  min-width:0;
  flex:1;
}
.repo-nav-arrows{
  display:inline-flex;
  align-items:center;
  gap:.05rem;
  flex-shrink:0;
}
.repo-nav-arrow{
  width:1.7rem;
  height:1.7rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#94a3b8;
  padding:0;
  line-height:1;
}
.repo-nav-arrow i,
.repo-nav-arrow .fa-solid{
  font-size:1.05rem!important;
  font-weight:900!important;
  line-height:1!important;
}
.repo-nav-arrow:hover:not(:disabled),
.repo-nav-arrow:focus-visible:not(:disabled){
  color:#64748b;
  background:rgba(15,23,42,.05);
  outline:none;
}
.repo-nav-arrow:disabled{
  opacity:.35;
  cursor:default;
}
.repo-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.35rem;
  min-width:0;
}
.repo-breadcrumb__item{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border:0;
  background:transparent;
  color:#334155;
  font-size:.82rem;
  font-weight:700;
  padding:.2rem .35rem;
  border-radius:8px;
}
button.repo-breadcrumb__item:hover,
button.repo-breadcrumb__item:focus-visible{
  background:rgba(0,18,154,.06);
  color:var(--color-primary,#00129A);
  outline:none;
}
.repo-breadcrumb__item.is-current{color:var(--color-primary,#00129A)}
.repo-breadcrumb__item.is-root i{color:var(--color-primary,#00129A)}
.repo-breadcrumb__sep{color:#94a3b8;font-weight:700}
.repo-shell__tools{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.5rem;
}
.repo-shell__search{
  min-width:min(100%,220px);
  flex:1 1 180px;
}
.repo-shell__area{min-width:8.5rem}
.repo-view-toggle{
  display:inline-flex;
  border:1px solid rgba(15,23,42,.1);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.repo-view-btn{
  width:2.1rem;
  height:2.1rem;
  border:0;
  background:transparent;
  color:#64748b;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.repo-view-btn.is-active,
.repo-view-btn:hover{
  background:rgba(0,18,154,.08);
  color:var(--color-primary,#00129A);
}
.repo-sort-field .dash-filter-select{min-width:8rem}
.repo-shell__body{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:.85rem;
  align-items:stretch;
  flex:1;
  min-height:0;
}
.repo-tree{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  padding:.85rem .7rem;
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.repo-tree__label{
  margin:0 .35rem .15rem;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#94a3b8;
}
.repo-tree__nav{display:flex;flex-direction:column;gap:.25rem}
.repo-tree__item{
  display:grid;
  grid-template-columns:1.1rem 1fr auto;
  align-items:center;
  gap:.55rem;
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  padding:.55rem .55rem;
  border-radius:10px;
  color:#334155;
  font-size:.82rem;
  font-weight:700;
}
.repo-tree__item i{color:#64748b}
.repo-tree__item em{
  font-style:normal;
  font-size:.72rem;
  font-weight:800;
  color:#64748b;
  background:#f1f5f9;
  border-radius:999px;
  padding:.1rem .45rem;
}
.repo-tree__item:hover,
.repo-tree__item:focus-visible{
  background:rgba(0,18,154,.05);
  outline:none;
}
.repo-tree__item.is-active{
  border-left:0;
  background:linear-gradient(135deg,rgba(255,255,255,.78) 0%,rgba(235,241,252,.58) 100%);
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  color:var(--color-primary,#00129A);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 2px rgba(15,23,42,.04),0 8px 20px rgba(0,18,154,.1);
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
}
.repo-tree__item.is-active i,
.repo-tree__item.is-active em{color:var(--color-primary,#00129A)}
.repo-tree__note{
  margin-top:auto;
  padding:.65rem .55rem;
  border-radius:10px;
  background:#f8fafc;
  color:#64748b;
  font-size:.72rem;
  font-weight:600;
  line-height:1.35;
}
.repo-tree__note i{margin-right:.25rem;color:var(--color-primary,#00129A)}
.repo-browser{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
}
.repo-browser__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  padding:1rem 1.1rem .85rem;
  border-bottom:1px solid rgba(15,23,42,.06);
}
.repo-browser__title{
  margin:0;
  font-size:1.05rem;
  font-weight:800;
  color:#0f172a;
}
.repo-browser__sub{
  margin:.2rem 0 0;
  font-size:.8rem;
  color:#64748b;
  font-weight:600;
}
.repo-browser__count{
  font-size:.78rem;
  font-weight:800;
  color:#64748b;
  white-space:nowrap;
  padding:.25rem .55rem;
  border-radius:999px;
  background:#f1f5f9;
}
.repo-browser__stage{
  flex:1;
  min-height:18rem;
  overflow:auto;
  padding:.35rem .55rem 1rem;
}
.repo-browser__stage.is-folders-only .repo-list-wrap{display:none}
.repo-folders{padding:.55rem .45rem 1rem}
.repo-folders__intro{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  margin-bottom:.85rem;
  padding:0 .25rem;
}
.repo-folders__intro strong{font-size:.92rem;color:#0f172a}
.repo-folders__intro span{font-size:.78rem;color:#64748b;font-weight:600}
.repo-folders__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));
  gap:1rem 1.1rem;
  padding:.35rem .15rem .5rem;
}
.repo-folder-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.45rem;
  border:0;
  background:transparent;
  padding:.55rem .4rem .65rem;
  border-radius:14px;
  text-align:center;
  min-width:0;
  transition:background .15s ease, transform .15s ease;
}
.repo-folder-tile:hover,
.repo-folder-tile:focus-visible{
  background:rgba(0,18,154,.05);
  transform:translateY(-2px);
  outline:none;
}
.repo-folder-glyph{
  width:4.4rem;
  height:3.55rem;
  display:block;
  line-height:0;
  filter:drop-shadow(0 3px 5px rgba(15,23,42,.12));
  transition:transform .15s ease, filter .15s ease;
}
.repo-folder-svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}
.repo-folder-tile .rf-stop-a,
.repo-folder-tile--pol .rf-stop-a,
.repo-folder-tile--info .rf-stop-a,
.repo-folder-tile--fmt .rf-stop-a,
.repo-folder-tile--proc .rf-stop-a{stop-color:#7ec4ff}
.repo-folder-tile .rf-stop-b,
.repo-folder-tile--pol .rf-stop-b,
.repo-folder-tile--info .rf-stop-b,
.repo-folder-tile--fmt .rf-stop-b,
.repo-folder-tile--proc .rf-stop-b{stop-color:#3b8ee8}
.repo-folder-tile:hover .repo-folder-glyph,
.repo-folder-tile:focus-visible .repo-folder-glyph{
  transform:scale(1.05);
  filter:drop-shadow(0 5px 8px rgba(15,23,42,.16));
}
.repo-folder-tile__name{
  width:100%;
  font-size:.8rem;
  font-weight:700;
  color:#0f172a;
  line-height:1.25;
  max-height:2.5em;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.repo-folder-tile__count{
  font-size:.68rem;
  font-weight:600;
  color:#64748b;
  margin-top:-.2rem;
}
.repo-file-card--fmt .repo-file-card__preview{background:linear-gradient(160deg,#fff7ed,#ffedd5);color:#c2410c}
.repo-row-icon--fmt{background:#ffedd5;color:#c2410c}
.repo-preview__file-ico--fmt{background:#ffedd5;color:#c2410c}
body.portal-page .repo-list-wrap{
  max-height:none;
  overflow:visible;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
body.portal-page .repo-list-head{
  display:grid;
  position:sticky;
  top:0;
  z-index:2;
  grid-template-columns:minmax(12rem,2fr) 7rem 7rem 6rem 5.5rem auto;
  gap:.55rem;
  padding:.55rem .65rem;
  background:#f8fafc;
  border-bottom:1px solid rgba(15,23,42,.08);
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#64748b;
}
body.portal-page .repo-list{display:flex;flex-direction:column}
body.portal-page .repo-row--file{
  display:grid;
  grid-template-columns:minmax(12rem,2fr) 7rem 7rem 6rem 5.5rem auto;
  gap:.55rem;
  align-items:center;
  padding:.7rem .65rem;
  border-bottom:1px solid rgba(15,23,42,.05);
  cursor:pointer;
}
body.portal-page .repo-row--file:hover,
body.portal-page .repo-row--file:focus-visible{
  background:rgba(0,18,154,.04);
  outline:none;
}
body.portal-page .repo-col-doc{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:0;
}
body.portal-page .repo-row-icon{
  width:2.15rem;
  height:2.15rem;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:.95rem;
}
body.portal-page .repo-row-title{font-size:.88rem;font-weight:800}
body.portal-page .repo-row-meta{font-size:.72rem}
.repo-file-ext{
  margin-left:auto;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.04em;
  color:#64748b;
  background:#e2e8f0;
  border-radius:6px;
  padding:.12rem .35rem;
  flex-shrink:0;
}
.repo-col-code{
  font-size:.74rem;
  font-weight:800;
  color:var(--color-primary,#00129A);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.repo-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.45rem;
  padding:.1rem .45rem;
  border-radius:999px;
  font-size:.68rem;
  font-weight:800;
}
.repo-status--live{background:rgba(25,135,84,.12);color:#146c43}
.repo-status--review{background:rgba(146,64,14,.12);color:#92400e}
.repo-status--obsolete{background:rgba(159,18,57,.1);color:#9f1239}
.repo-chip{
  display:inline-flex;
  align-items:center;
  padding:.1rem .4rem;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  font-size:.68rem;
  font-weight:700;
}
.repo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:.75rem;
  padding:.35rem .25rem 0;
}
.repo-file-card{
  display:flex;
  flex-direction:column;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.repo-file-card:hover,
.repo-file-card:focus-visible{
  border-color:rgba(0,18,154,.22);
  box-shadow:0 10px 24px rgba(0,18,154,.08);
  transform:translateY(-1px);
  outline:none;
}
.repo-file-card__preview{
  position:relative;
  height:7.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  background:linear-gradient(160deg,#f8fafc 0%,#eef2ff 100%);
  color:#00129A;
}
.repo-file-card--pol .repo-file-card__preview{background:linear-gradient(160deg,#f0fdf4,#dcfce7);color:#15803d}
.repo-file-card--info .repo-file-card__preview{background:linear-gradient(160deg,#f5f3ff,#ede9fe);color:#6d28d9}
.repo-file-card__ext{
  position:absolute;
  right:.65rem;
  bottom:.55rem;
  font-size:.65rem;
  font-weight:800;
  background:#0f172a;
  color:#fff;
  border-radius:6px;
  padding:.15rem .4rem;
}
.repo-file-card__body{padding:.75rem .8rem .5rem;display:flex;flex-direction:column;gap:.25rem;min-width:0}
.repo-file-card__title{
  font-size:.88rem;
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.repo-file-card__code{font-size:.72rem;font-weight:800;color:#00129A}
.repo-file-card__tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.15rem}
.repo-file-card__actions{
  display:flex;
  gap:.35rem;
  padding:.2rem .75rem .75rem;
}
body.portal-page .repo-foot{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  align-items:center;
  padding:.65rem 1rem;
  border-top:1px solid rgba(15,23,42,.06);
  background:#f8fafc;
  font-size:.72rem;
  color:#64748b;
  border-radius:0;
}
.repo-foot-hint{font-weight:700;color:#94a3b8}

/* Visor tipo repositorio */
.repo-preview-dialog{
  width:min(1180px,96vw);
  max-width:96vw;
  height:min(92vh,900px);
  margin:1rem auto;
}
.repo-preview{
  height:100%;
  border:0;
  border-radius:16px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.repo-preview__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.75rem 1rem;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:#fff;
}
.repo-preview__identity{
  display:flex;
  align-items:center;
  gap:.7rem;
  min-width:0;
}
.repo-preview__file-ico{
  width:2.4rem;
  height:2.4rem;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,18,154,.1);
  color:#00129A;
  flex-shrink:0;
}
.repo-preview__file-ico--pol{background:#dcfce7;color:#15803d}
.repo-preview__file-ico--info{background:#ede9fe;color:#6d28d9}
.repo-preview__title{
  font-size:.98rem;
  font-weight:800;
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.repo-preview__path{
  font-size:.72rem;
  font-weight:600;
  color:#64748b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.repo-preview__actions{
  display:flex;
  align-items:center;
  gap:.4rem;
  flex-shrink:0;
}
.repo-preview__close{
  width:2.1rem;
  height:2.1rem;
  border-radius:10px;
  border:1px solid rgba(15,23,42,.1);
  background:#fff;
  color:#475569;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.repo-preview__close:hover{background:#f8fafc;color:#0f172a}
.repo-preview__layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  min-height:0;
  flex:1;
  background:#eef2f7;
}
.repo-preview__meta{
  background:#fff;
  border-right:1px solid rgba(15,23,42,.08);
  padding:1rem .9rem;
  overflow:auto;
}
.repo-preview__meta-label{
  margin:0 0 .65rem;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#94a3b8;
}
.repo-preview__dl{margin:0;display:flex;flex-direction:column;gap:.55rem}
.repo-preview__meta-row{
  display:flex;
  flex-direction:column;
  gap:.1rem;
  padding-bottom:.55rem;
  border-bottom:1px solid rgba(15,23,42,.06);
}
.repo-preview__meta-row dt{
  font-size:.68rem;
  font-weight:800;
  color:#94a3b8;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.repo-preview__meta-row dd{
  margin:0;
  font-size:.84rem;
  font-weight:700;
  color:#0f172a;
  word-break:break-word;
}
.repo-preview__stamp{
  margin-top:1rem;
  padding:.7rem .65rem;
  border-radius:10px;
  background:#f8fafc;
  color:#64748b;
  font-size:.72rem;
  font-weight:700;
  line-height:1.35;
}
.repo-preview__stamp i{color:#15803d;margin-right:.25rem}
.repo-preview__stage{
  min-height:0;
  height:100%;
  padding:.65rem;
}
.repo-preview__stage iframe{
  width:100%;
  height:100%;
  min-height:28rem;
  border:0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.repo-preview__fallback{
  height:100%;
  min-height:22rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  background:#fff;
  border-radius:12px;
  color:#64748b;
  text-align:center;
  padding:2rem;
}
.repo-preview__fallback i{font-size:2.5rem;color:#00129A}

@media (max-width:1100px){
  .repo-shell__body{grid-template-columns:1fr}
  .repo-tree{display:grid;grid-template-columns:1fr;gap:.35rem}
  .repo-tree__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}
  .repo-folders__grid{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.85rem}
  body.portal-page .repo-list-head{display:none}
  body.portal-page .repo-row--file{
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto auto;
  }
  body.portal-page .repo-col-doc{grid-column:1 / -1}
  .repo-col-code,.repo-col-area,.repo-col-type,.repo-col-status{grid-column:1}
  body.portal-page .repo-col-actions{grid-column:2;grid-row:2 / span 3;align-self:start}
  .repo-preview__layout{grid-template-columns:1fr}
  .repo-preview__meta{border-right:0;border-bottom:1px solid rgba(15,23,42,.08);max-height:38vh}
}
@media (max-width:640px){
  .repo-shell__toolbar{flex-direction:column;align-items:stretch}
  .repo-shell__tools{width:100%}
  .repo-tree__nav{grid-template-columns:1fr}
  .repo-preview__actions .dash-btn span{display:none}
}

/* KPIs Documentos admin · compactos */
.canvas-platform.canvas-admin .admin-crm-metrics--section-docs{
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.45rem;
  margin-bottom:.75rem;
}
.canvas-platform.canvas-admin .admin-crm-metrics--section-docs .admin-crm-metric{
  padding:.45rem .55rem .5rem;
  min-height:0;
  border-radius:10px;
  gap:0;
}
.canvas-platform.canvas-admin .admin-crm-metrics--section-docs .admin-crm-metric__label{
  font-size:.58rem;
  margin-bottom:.15rem;
  letter-spacing:.03em;
  line-height:1.15;
}
.canvas-platform.canvas-admin .admin-crm-metrics--section-docs .admin-crm-metric__value{
  font-size:1.05rem;
  line-height:1;
  margin:0;
}
.canvas-platform.canvas-admin .admin-crm-metrics--section-docs .admin-crm-metric__hint{
  font-size:.62rem;
  margin-top:.15rem;
  line-height:1.2;
  opacity:.85;
}
.canvas-platform.canvas-admin .admin-crm-metrics--section-docs .admin-crm-metric__ico{
  display:none;
}
@media (max-width:1100px){
  .canvas-platform.canvas-admin .admin-crm-metrics--section-docs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .canvas-platform.canvas-admin .admin-crm-metrics--section-docs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Bitácora de cursos */
.admin-viewer-shell,
.admin-viewer-cards--history,
.admin-history-list{
  width:100%;
  max-width:100%;
}
.admin-viewer-cards--history{
  display:block!important;
  grid-template-columns:none!important;
}
.admin-history-list{display:block}
.admin-history-head,
.admin-history-row{
  width:100%;
  margin:0;
  padding:.7rem .85rem;
}
.admin-history-head{
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#64748b;
  background:#f8fafc;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.admin-history-row{border-bottom:1px solid rgba(15,23,42,.05)}
.admin-history-row:hover{background:rgba(0,18,154,.03)}
.admin-history-row__date{
  font-size:.78rem;
  font-weight:700;
  color:#334155;
}
.admin-history-row__person,
.admin-history-row__course{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:.1rem;
}
.admin-history-row__person strong,
.admin-history-row__course span{
  font-size:.86rem;
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-history-row__person span,
.admin-history-row__course code{
  font-size:.72rem;
  color:#64748b;
  font-weight:600;
}
.admin-history-row__course code{
  width:fit-content;
  color:var(--color-primary,#00129A);
  font-weight:800;
}
.admin-history-row__score{
  font-size:.95rem;
  font-weight:800;
  color:var(--color-primary,#00129A);
  background:rgba(0,18,154,.08);
  border-radius:999px;
  padding:.2rem .55rem;
  min-width:2.5rem;
  text-align:center;
}
@media (max-width:767.98px){
  .admin-history-head{display:none}
  .admin-history-row{row-gap:.25rem}
}

/* Menú usuario · dropdown */
.cs-user-menu{position:relative}
.cs-user-menu__toggle.cs-user-pill,
.campus-topnav .cs-user-pill,
.cs-user-pill.cs-user-menu__toggle{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  height:2.55rem;
  min-height:2.55rem;
  padding:.2rem .7rem .2rem .28rem;
  max-width:min(100%,15.5rem);
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(0,18,154,.06);
  cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .12s ease;
}
.cs-user-menu__toggle::after{
  margin-left:.1rem;
  margin-right:.1rem;
  border-top-color:#94a3b8;
  vertical-align:.15em;
  opacity:.85;
}
.cs-user-menu__toggle:hover,
.cs-user-menu__toggle:focus-visible,
.cs-user-menu__toggle[aria-expanded="true"]{
  border-color:rgba(0,18,154,.22);
  background:linear-gradient(180deg,#fff 0%,#eef4ff 100%);
  box-shadow:0 2px 6px rgba(0,18,154,.1),0 6px 16px rgba(0,18,154,.08);
  outline:none;
}
.cs-user-pill__avatar{
  position:relative;
  width:2rem!important;
  height:2rem!important;
  border-radius:50%;
  background:linear-gradient(145deg,#dbe7ff 0%,#eef3ff 100%)!important;
  color:var(--color-primary,#00129A)!important;
  display:grid!important;
  place-items:center;
  font-size:.95rem!important;
  flex-shrink:0;
  box-shadow:inset 0 0 0 1px rgba(0,18,154,.08);
}
.cs-user-pill__avatar::after{
  content:"";
  position:absolute;
  right:-1px;
  bottom:-1px;
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:#22c55e;
  border:2px solid #fff;
  box-shadow:0 0 0 1px rgba(34,197,94,.25),0 0 6px rgba(34,197,94,.55);
}
.cs-user-pill__name{
  font-size:.875rem;
  font-weight:700;
  color:#0f172a;
  letter-spacing:-.01em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}
.cs-user-menu__panel{
  min-width:12.5rem;
  padding:.4rem;
  border:1px solid rgba(15,23,42,.1);
  border-radius:12px;
  box-shadow:0 12px 28px rgba(15,23,42,.12);
  margin-top:.35rem !important;
}
.cs-user-menu__item{
  display:flex;
  align-items:center;
  gap:.55rem;
  border-radius:8px;
  font-size:.875rem;
  font-weight:700;
  color:#0f172a;
  padding:.55rem .65rem;
}
.cs-user-menu__item i{color:#64748b;font-size:1rem}
.cs-user-menu__item:hover,
.cs-user-menu__item:focus{
  background:rgba(0,18,154,.06);
  color:var(--color-primary,#00129A);
}
.cs-user-menu__item:hover i,
.cs-user-menu__item:focus i{color:var(--color-primary,#00129A)}
.cs-user-menu__logout{width:100%;border:0;background:transparent;text-align:left}
.cs-user-menu__logout,
.cs-user-menu__logout:hover,
.cs-user-menu__logout:focus{
  color:#9f1239;
}
.cs-user-menu__logout i{color:#9f1239}
.cs-user-menu .dropdown-divider{margin:.35rem .25rem;opacity:.15}

/* ── Repositorio v2 · explorador compacto ── */
body.portal-page.portal-page .dash-header{
  padding:.65rem 0 .55rem;
  margin-bottom:.55rem;
}
body.portal-page .dash-header__eyebrow{display:none}
body.portal-page .dash-header__title{
  font-size:1.15rem;
  margin:0;
  line-height:1.2;
}
body.portal-page .dash-header__sub{
  font-size:.75rem;
  margin:.1rem 0 0;
  color:#64748b;
}
.repo-icon-btn{
  width:2rem;
  height:2rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#fff;
  color:#334155;
  text-decoration:none;
}
.repo-icon-btn:hover{
  border-color:rgba(0,18,154,.3);
  color:#00129A;
  background:#f8fafc;
}

body.portal-page .repo-shell--v2.canvas-panel.gamify-hero,
body.portal-page .repo-shell--v2{
  display:grid!important;
  grid-template-columns:168px minmax(0,1fr);
  gap:.85rem;
  align-items:stretch;
  justify-content:stretch;
  flex-wrap:nowrap;
  min-height:calc(100vh - 8.5rem);
  margin-bottom:0;
  padding:.9rem 1rem 1rem;
  background:linear-gradient(135deg,#fff 0%,var(--color-surface-soft,#EBF1FC) 58%,rgba(100,145,227,.12) 100%)!important;
  border:1px solid rgba(0,18,154,.1)!important;
  border-radius:var(--dash-radius-lg,16px)!important;
  box-shadow:0 8px 24px rgba(0,18,154,.07)!important;
  overflow:hidden;
  color:var(--dash-text,#0f172a);
}
body.portal-page .repo-shell--v2 .repo-tree{
  border:0;
  border-right:1px solid rgba(0,18,154,.08);
  border-radius:0;
  padding:.25rem .75rem .25rem .15rem;
  background:transparent;
  gap:.35rem;
}
body.portal-page .repo-shell--v2 .repo-tree__label{display:none}
body.portal-page .repo-shell--v2 .repo-tree__item{
  grid-template-columns:1rem 1fr auto;
  gap:.4rem;
  padding:.42rem .5rem;
  font-size:.78rem;
  border-radius:8px;
}
body.portal-page .repo-shell--v2 .repo-tree__item em{
  font-size:.65rem;
  padding:.05rem .35rem;
  background:rgba(15,23,42,.06);
}
body.portal-page .repo-shell--v2 .repo-tree__note{display:none}

body.portal-page .repo-shell--v2 .repo-browser{
  border:0;
  border-radius:0;
  min-height:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
body.portal-page .repo-shell--v2 .repo-browser__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  flex-wrap:wrap;
  padding:.25rem 0 .65rem;
  border-bottom:1px solid rgba(0,18,154,.08);
  background:transparent;
}
body.portal-page .repo-shell--v2 .repo-browser__tools{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
}
body.portal-page .repo-shell--v2 .repo-search{
  display:flex;
  align-items:center;
  gap:.35rem;
  height:2rem;
  padding:0 .55rem;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#f8fafc;
  min-width:11rem;
}
body.portal-page .repo-shell--v2 .repo-search i{color:#94a3b8;font-size:.85rem}
body.portal-page .repo-shell--v2 .repo-search input{
  border:0;
  background:transparent;
  outline:0;
  width:100%;
  font-size:.8rem;
  font-weight:600;
  color:#0f172a;
}
body.portal-page .repo-shell--v2 .repo-select{
  height:2rem;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#fff;
  padding:0 .5rem;
  font-size:.75rem;
  font-weight:700;
  color:#334155;
  max-width:9.5rem;
}
body.portal-page .repo-shell--v2 .repo-view-toggle{
  height:2rem;
  border-radius:8px;
}
body.portal-page .repo-shell--v2 .repo-view-btn{
  width:1.85rem;
  height:1.85rem;
}
body.portal-page .repo-shell--v2 .repo-breadcrumb__item{
  font-size:.78rem;
  padding:.15rem .25rem;
}
body.portal-page .repo-shell--v2 .repo-browser__meta{
  display:flex;
  justify-content:flex-end;
  padding:.3rem .75rem 0;
}
body.portal-page .repo-shell--v2 .repo-browser__count{
  font-size:.7rem;
  font-weight:700;
  color:#94a3b8;
  background:transparent;
  padding:0;
}
body.portal-page .repo-shell--v2 .repo-list-wrap,
body.portal-page .repo-shell--v2 .repo-browser__stage{
  background:transparent;
  border:0;
  box-shadow:none;
}
body.portal-page .repo-shell--v2 .repo-browser__stage{
  padding:0;
  min-height:14rem;
}
body.portal-page .repo-shell--v2 .repo-list-wrap{
  margin:0;
  border:0;
  box-shadow:none;
  background:transparent;
  max-height:none;
  overflow:visible;
  padding:0;
}
body.portal-page .repo-shell--v2 .repo-list-head{
  display:grid;
  grid-template-columns:minmax(12rem,2.2fr) 7rem 7rem 5.5rem 5rem 5.5rem;
  gap:.4rem;
  padding:.4rem .75rem;
  background:#fafbfc;
  border-bottom:1px solid rgba(15,23,42,.08);
  font-size:.62rem;
  position:sticky;
  top:0;
  z-index:2;
}
body.portal-page .repo-shell--v2 .repo-row--file{
  grid-template-columns:minmax(12rem,2.2fr) 7rem 7rem 5.5rem 5rem 5.5rem;
  gap:.4rem;
  padding:.48rem .75rem;
  border-bottom:1px solid rgba(15,23,42,.05);
}
body.portal-page .repo-shell--v2 .repo-row-icon{
  width:1.7rem;
  height:1.7rem;
  border-radius:7px;
  font-size:.8rem;
}
body.portal-page .repo-shell--v2 .repo-row-title{font-size:.82rem}
body.portal-page .repo-shell--v2 .repo-row-meta{font-size:.68rem}
body.portal-page .repo-shell--v2 .repo-action-btn{
  width:1.7rem;
  height:1.7rem;
  border-radius:6px;
}
body.portal-page .repo-shell--v2 .repo-action-btn .fa-solid{font-size:.8rem}
body.portal-page .repo-shell--v2 .repo-file-ext{
  font-size:.58rem;
  padding:.08rem .28rem;
}
body.portal-page .repo-shell--v2 .repo-status{
  font-size:.62rem;
  min-height:1.25rem;
  padding:.05rem .35rem;
}
body.portal-page .repo-shell--v2 .repo-grid{
  grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  gap:.55rem;
  padding:.65rem .75rem;
}
body.portal-page .repo-shell--v2 .repo-file-card__preview{height:5.5rem;font-size:1.5rem}
body.portal-page .repo-shell--v2 .repo-file-card__body{padding:.55rem .6rem .35rem}
body.portal-page .repo-shell--v2 .repo-file-card__title{font-size:.8rem}
body.portal-page .repo-shell--v2 .repo-file-card__actions{padding:.15rem .55rem .55rem}
body.portal-page .repo-shell--v2 .repo-empty{padding:2.5rem 1rem}
body.portal-page .repo-shell--v2 .repo-empty i{font-size:1.35rem}
body.portal-page .repo-shell--v2 .repo-empty-title{font-size:.88rem}
body.portal-page .repo-shell--v2 .repo-empty-text{font-size:.75rem}

@media (max-width:980px){
  body.portal-page .repo-shell--v2{
    grid-template-columns:1fr;
    gap:.75rem;
  }
  body.portal-page .repo-shell--v2 .repo-tree{
    border:0;
    padding:0;
  }
  body.portal-page .repo-shell--v2 .repo-tree__nav{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.25rem;
  }
  body.portal-page .repo-shell--v2 .repo-tree__item span{
    display:none;
  }
  body.portal-page .repo-shell--v2 .repo-tree__item{
    justify-items:center;
    grid-template-columns:1fr;
    text-align:center;
  }
  body.portal-page .repo-shell--v2 .repo-list-head{display:none}
  body.portal-page .repo-shell--v2 .repo-row--file{
    grid-template-columns:1fr auto;
  }
}
#adminPanelDocs .repo-shell--v2.canvas-panel.gamify-hero,
#adminPanelDocs .repo-shell--v2{
  display:grid!important;
  grid-template-columns:168px minmax(0,1fr);
  gap:.85rem;
  align-items:stretch;
  justify-content:stretch;
  flex-wrap:nowrap;
  min-height:min(70vh,780px);
  margin-bottom:0;
  padding:.9rem 1rem 1rem;
  background:linear-gradient(135deg,#fff 0%,var(--color-surface-soft,#EBF1FC) 58%,rgba(100,145,227,.12) 100%)!important;
  border:1px solid rgba(0,18,154,.1)!important;
  border-radius:var(--dash-radius-lg,16px)!important;
  box-shadow:0 8px 24px rgba(0,18,154,.07)!important;
  overflow:hidden;
  color:var(--dash-text,#0f172a);
}
#adminPanelDocs .repo-shell--v2 .repo-tree{
  border:0;
  border-right:1px solid rgba(0,18,154,.08);
  border-radius:0;
  padding:.25rem .75rem .25rem .15rem;
  background:transparent;
  gap:.35rem;
}
#adminPanelDocs .repo-shell--v2 .repo-tree__label{display:none}
#adminPanelDocs .repo-shell--v2 .repo-tree__item{
  grid-template-columns:1rem 1fr auto;
  gap:.4rem;
  padding:.42rem .5rem;
  font-size:.78rem;
  border-radius:8px;
}
#adminPanelDocs .repo-shell--v2 .repo-tree__item em{
  font-size:.65rem;
  padding:.05rem .35rem;
  background:rgba(15,23,42,.06);
}
#adminPanelDocs .repo-shell--v2 .repo-tree__note{display:none}

#adminPanelDocs .repo-shell--v2 .repo-browser{
  border:0;
  border-radius:0;
  min-height:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
#adminPanelDocs .repo-shell--v2 .repo-browser__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  flex-wrap:wrap;
  padding:.25rem 0 .65rem;
  border-bottom:1px solid rgba(0,18,154,.08);
  background:transparent;
}
#adminPanelDocs .repo-shell--v2 .repo-browser__tools{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
}
#adminPanelDocs .repo-shell--v2 .repo-search{
  display:flex;
  align-items:center;
  gap:.35rem;
  height:2rem;
  padding:0 .55rem;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#f8fafc;
  min-width:11rem;
}
#adminPanelDocs .repo-shell--v2 .repo-search i{color:#94a3b8;font-size:.85rem}
#adminPanelDocs .repo-shell--v2 .repo-search input{
  border:0;
  background:transparent;
  outline:0;
  width:100%;
  font-size:.8rem;
  font-weight:600;
  color:#0f172a;
}
#adminPanelDocs .repo-shell--v2 .repo-select{
  height:2rem;
  border:1px solid rgba(15,23,42,.12);
  border-radius:8px;
  background:#fff;
  padding:0 .5rem;
  font-size:.75rem;
  font-weight:700;
  color:#334155;
  max-width:9.5rem;
}
#adminPanelDocs .repo-shell--v2 .repo-view-toggle{
  height:2rem;
  border-radius:8px;
}
#adminPanelDocs .repo-shell--v2 .repo-view-btn{
  width:1.85rem;
  height:1.85rem;
}
#adminPanelDocs .repo-shell--v2 .repo-breadcrumb__item{
  font-size:.78rem;
  padding:.15rem .25rem;
}
#adminPanelDocs .repo-shell--v2 .repo-browser__meta{
  display:flex;
  justify-content:flex-end;
  padding:.3rem .75rem 0;
}
#adminPanelDocs .repo-shell--v2 .repo-browser__count{
  font-size:.7rem;
  font-weight:700;
  color:#94a3b8;
  background:transparent;
  padding:0;
}
#adminPanelDocs .repo-shell--v2 .repo-list-wrap,
#adminPanelDocs .repo-shell--v2 .repo-browser__stage{
  background:transparent;
  border:0;
  box-shadow:none;
}
#adminPanelDocs .repo-shell--v2 .repo-browser__stage{
  padding:0;
  min-height:14rem;
}
#adminPanelDocs .repo-shell--v2 .repo-list-wrap{
  margin:0;
  border:0;
  box-shadow:none;
  background:transparent;
  max-height:none;
  overflow:visible;
  padding:0;
}
#adminPanelDocs .repo-shell--v2 .repo-list-head{
  display:grid;
  grid-template-columns:minmax(12rem,2.2fr) 7rem 7rem 5.5rem 5rem 5.5rem;
  gap:.4rem;
  padding:.4rem .75rem;
  background:#fafbfc;
  border-bottom:1px solid rgba(15,23,42,.08);
  font-size:.62rem;
  position:sticky;
  top:0;
  z-index:2;
}
#adminPanelDocs .repo-shell--v2 .repo-row--file{
  grid-template-columns:minmax(12rem,2.2fr) 7rem 7rem 5.5rem 5rem 5.5rem;
  gap:.4rem;
  padding:.48rem .75rem;
  border-bottom:1px solid rgba(15,23,42,.05);
}
#adminPanelDocs .repo-shell--v2 .repo-row-icon{
  width:1.7rem;
  height:1.7rem;
  border-radius:7px;
  font-size:.8rem;
}
#adminPanelDocs .repo-shell--v2 .repo-row-title{font-size:.82rem}
#adminPanelDocs .repo-shell--v2 .repo-row-meta{font-size:.68rem}
#adminPanelDocs .repo-shell--v2 .repo-action-btn{
  width:1.7rem;
  height:1.7rem;
  border-radius:6px;
}
#adminPanelDocs .repo-shell--v2 .repo-action-btn .fa-solid{font-size:.8rem}
#adminPanelDocs .repo-shell--v2 .repo-file-ext{
  font-size:.58rem;
  padding:.08rem .28rem;
}
#adminPanelDocs .repo-shell--v2 .repo-status{
  font-size:.62rem;
  min-height:1.25rem;
  padding:.05rem .35rem;
}
#adminPanelDocs .repo-shell--v2 .repo-grid{
  grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
  gap:.55rem;
  padding:.65rem .75rem;
}
#adminPanelDocs .repo-shell--v2 .repo-file-card__preview{height:5.5rem;font-size:1.5rem}
#adminPanelDocs .repo-shell--v2 .repo-file-card__body{padding:.55rem .6rem .35rem}
#adminPanelDocs .repo-shell--v2 .repo-file-card__title{font-size:.8rem}
#adminPanelDocs .repo-shell--v2 .repo-file-card__actions{padding:.15rem .55rem .55rem}
#adminPanelDocs .repo-shell--v2 .repo-empty{padding:2.5rem 1rem}
#adminPanelDocs .repo-shell--v2 .repo-empty i{font-size:1.35rem}
#adminPanelDocs .repo-shell--v2 .repo-empty-title{font-size:.88rem}
#adminPanelDocs .repo-shell--v2 .repo-empty-text{font-size:.75rem}
#adminPanelDocs .repo-empty--in-list{
  padding:2.25rem 1rem 2.5rem;
  border-top:0;
  background:transparent
}
#adminPanelDocs .admin-docs-list-wrap:has(#adminDocsFilterEmpty:not(.d-none)) .admin-docs-list{
  display:none
}

@media (max-width:980px){
  #adminPanelDocs .repo-shell--v2{
    grid-template-columns:1fr;
    gap:.75rem;
  }
  #adminPanelDocs .repo-shell--v2 .repo-tree{
    border:0;
    padding:0;
  }
  #adminPanelDocs .repo-shell--v2 .repo-tree__nav{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.25rem;
  }
  #adminPanelDocs .repo-shell--v2 .repo-tree__item span{
    display:none;
  }
  #adminPanelDocs .repo-shell--v2 .repo-tree__item{
    justify-items:center;
    grid-template-columns:1fr;
    text-align:center;
  }
  #adminPanelDocs .repo-shell--v2 .repo-list-head{display:none}
  #adminPanelDocs .repo-shell--v2 .repo-row--file{
    grid-template-columns:1fr auto;
  }
}

/* Admin docs · misma card que portal documentos */
#adminPanelDocs .admin-docs-shell.repo-shell--v2{margin:0 0 1rem}
#adminPanelDocs .repo-col-doc{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:0;
}
#adminPanelDocs .repo-row-text{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:.05rem;
}
#adminPanelDocs .repo-row-icon{
  width:1.7rem;
  height:1.7rem;
  border-radius:7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:.8rem;
}
#adminPanelDocs .repo-row-icon--pol{background:rgba(25,135,84,.12);color:#146c43}
#adminPanelDocs .repo-row-icon--info{background:rgba(191,90,242,.12);color:#9333ea}
#adminPanelDocs .repo-row-icon--fmt{background:rgba(10,132,255,.12);color:#0a84ff}
#adminPanelDocs .repo-row-icon--proc{background:rgba(0,18,154,.08);color:#00129A}
#adminPanelDocs .repo-row-title{
  font-size:.82rem;
  font-weight:800;
  color:#0f172a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#adminPanelDocs .repo-row-meta{
  font-size:.68rem;
  color:#64748b;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#adminPanelDocs .repo-file-ext{
  margin-left:auto;
  font-size:.58rem;
  font-weight:800;
  color:#64748b;
  background:#f1f5f9;
  border-radius:4px;
  padding:.08rem .28rem;
}
#adminPanelDocs .repo-col-code{
  font-size:.75rem;
  font-weight:800;
  color:var(--color-primary,#00129A);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#adminPanelDocs .repo-col-area,
#adminPanelDocs .repo-col-type{
  font-size:.75rem;
  font-weight:600;
  color:#334155;
}
#adminPanelDocs .repo-col-actions{
  display:flex;
  justify-content:flex-end;
  gap:.3rem;
}
#adminPanelDocs .repo-row--file.is-selected,
#adminPanelDocs .finder-row.is-selected{
  background:rgba(0,18,154,.06)!important;
  box-shadow:inset 3px 0 0 var(--color-primary,#00129A);
}
#adminPanelDocs .repo-list-head{
  display:grid;
  grid-template-columns:minmax(12rem,2.2fr) 7rem 7rem 5.5rem 5rem 5.5rem;
  gap:.4rem;
  padding:.4rem .75rem;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#64748b;
  background:#fafbfc;
  border-bottom:1px solid rgba(15,23,42,.08);
}
#adminPanelDocs .repo-row--file{
  display:grid;
  grid-template-columns:minmax(12rem,2.2fr) 7rem 7rem 5.5rem 5rem 5.5rem;
  gap:.4rem;
  align-items:center;
  padding:.48rem .75rem;
  border-bottom:1px solid rgba(15,23,42,.05);
  cursor:default;
}
#adminPanelDocs .repo-row--file:hover{
  background:rgba(0,18,154,.03);
}
#adminPanelDocs .admin-viewer-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  margin-top:.5rem;
}


/* (título de sección vive en .campus-topnav__section) */
.dash-header--bar{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.55rem 0 .45rem;
  margin-bottom:.55rem;
  min-height:2.75rem;
  border-bottom:1px solid rgba(15,23,42,.06);
}
.dash-header--bar .dash-header__copy{display:none}
.dash-header--bar .dash-header__actions{
  margin-left:auto;
  width:100%;
  justify-content:flex-end;
}
.dash-header--bar .dash-header__menu{
  flex-shrink:0;
}
body.portal-page .dash-header--bar{
  margin-bottom:.45rem;
  padding:.45rem 0;
}

/* Botón icono (casita → catálogo) */
.dash-btn--icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.35rem;
  height:2.35rem;
  padding:0;
  border-radius:999px;
  font-size:1.15rem;
  line-height:1;
  text-decoration:none;
}
.dash-btn--icon i{
  margin:0;
  line-height:1;
}

/* Navbar Bootstrap sticky-top · Campus SAR */
:root{
  --campus-topnav-h:4.25rem;
}
body.campus-crm-page main.admin-crm-wrap,
body.admin-crm-page main.admin-crm-wrap{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.campus-topnav{
  --bs-navbar-padding-y:.45rem;
  flex-shrink:0;
  min-height:var(--campus-topnav-h);
  background:#fff;
  border-bottom:1px solid rgba(15,23,42,.08);
  box-shadow:0 1px 0 rgba(15,23,42,.03);
  z-index:1050;
}
.campus-topnav__inner{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:calc(var(--campus-topnav-h) - .9rem);
  padding-left:.85rem;
  padding-right:.85rem;
}
.campus-topnav__toggler{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.35rem;
  height:2.35rem;
  padding:0;
  border:1px solid rgba(15,23,42,.1);
  border-radius:10px;
  background:#fff;
  color:var(--color-primary,#00129A);
  font-size:1.25rem;
  line-height:1;
}
.campus-topnav__toggler:hover,
.campus-topnav__toggler:focus-visible{
  background:var(--color-surface-soft,#EBF1FC);
  border-color:rgba(0,18,154,.18);
}
.campus-topnav__brand{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  margin:0;
  padding:0;
  min-width:0;
  text-decoration:none;
}
.campus-topnav__brand:hover,
.campus-topnav__brand:focus-visible{
  opacity:.92;
}
.campus-topnav__logo{
  width:3.7rem;
  height:auto;
  max-height:3.7rem;
  object-fit:contain;
  display:block;
  flex-shrink:0;
}
.campus-topnav__copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  gap:.1rem;
  line-height:1.15;
}
.campus-topnav__title{
  display:block;
  font-family:var(--font-heading,"Nunito",sans-serif);
  font-size:.95rem;
  font-weight:800;
  letter-spacing:-.01em;
  color:#0f172a;
  line-height:1.15;
}
.campus-topnav__section,
#campusBrandSection.campus-topnav__section{
  display:block;
  max-width:min(48vw,18rem);
  font-family:var(--font-main,"Nunito",sans-serif);
  font-size:.72rem;
  font-weight:500;
  line-height:1.25;
  color:#8d99ae;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.campus-topnav__actions{
  min-width:0;
}
body.campus-crm-page .admin-crm-sidebar__brand,
body.admin-crm-page .admin-crm-sidebar__brand,
.canvas-platform .dash-sidebar__brand{
  display:none!important;
}

/* Shell Bootstrap: row + col-lg-* lado a lado */
body.campus-crm-page .admin-crm-shell,
body.admin-crm-page .admin-crm-shell,
#campusCrmShell.admin-crm-shell,
#adminTabsShell.admin-crm-shell,
.canvas-platform .admin-crm-shell,
.canvas-platform.canvas-course #campusCrmShell,
.canvas-platform.canvas-course .admin-crm-shell,
.canvas-dashboard .admin-crm-shell{
  display:block!important;
  grid-template-columns:none!important;
  width:100%!important;
  max-width:none!important;
  flex:1 1 auto;
  min-height:calc(100vh - var(--campus-topnav-h));
  padding-left:0!important;
  padding-right:0!important;
  background:var(--color-bg,#f1f5f9);
}
.campus-shell-row.row{
  --bs-gutter-x:0;
  --bs-gutter-y:0;
  display:flex!important;
  flex-wrap:wrap;
  margin:0!important;
  width:100%;
  min-height:calc(100vh - var(--campus-topnav-h));
  align-items:stretch;
}
.campus-shell-row > .admin-crm-sidebar{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  padding:1rem .75rem 1.25rem;
  background:var(--dash-surface,#fff);
  border-right:1px solid var(--dash-border,rgba(15,23,42,.08));
  box-shadow:none;
}
.campus-shell-row > .admin-crm-main{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:1rem 1.25rem 1.75rem;
  min-width:0;
}
@media (min-width:1200px){
  .campus-shell-row > .admin-crm-main{
    padding:1.25rem 1.75rem 2rem;
  }
}
@media (min-width:992px){
  .campus-shell-row.row{
    flex-wrap:nowrap!important;
  }
  /* Anchos Bootstrap reales (evita que CSS viejo rompa el row) */
  .campus-shell-row > .admin-crm-sidebar.col-lg-2{
    flex:0 0 16.66666667%!important;
    width:16.66666667%!important;
    max-width:16.66666667%!important;
  }
  .campus-shell-row > .admin-crm-sidebar.col-lg-3{
    flex:0 0 25%!important;
    width:25%!important;
    max-width:25%!important;
  }
  .campus-shell-row > .admin-crm-main.col-lg-10{
    flex:0 0 83.33333333%!important;
    width:83.33333333%!important;
    max-width:83.33333333%!important;
  }
  .campus-shell-row > .admin-crm-main.col-lg-9{
    flex:0 0 75%!important;
    width:75%!important;
    max-width:75%!important;
  }
  .campus-shell-row > .admin-crm-sidebar,
  body.campus-crm-page .campus-shell-row > .admin-crm-sidebar,
  body.admin-crm-page .campus-shell-row > .admin-crm-sidebar,
  .canvas-platform .campus-shell-row > .admin-crm-sidebar,
  .canvas-platform.canvas-course .campus-shell-row > .admin-crm-sidebar,
  .canvas-platform.canvas-course .campus-shell-row > .course-crm-sidebar{
    position:sticky!important;
    top:var(--campus-topnav-h)!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    inset:auto!important;
    transform:none!important;
    z-index:2;
    height:calc(100vh - var(--campus-topnav-h))!important;
    max-height:calc(100vh - var(--campus-topnav-h))!important;
    overflow-x:hidden;
    overflow-y:auto;
    align-self:flex-start;
  }
  .campus-shell-row > .admin-crm-main,
  body.campus-crm-page .campus-shell-row > .admin-crm-main,
  body.admin-crm-page .campus-shell-row > .admin-crm-main,
  .canvas-platform .campus-shell-row > .admin-crm-main,
  .canvas-platform.canvas-course .campus-shell-row > .admin-crm-main{
    position:relative!important;
    transform:none!important;
    min-width:0!important;
  }
}
@media (max-width:991.98px){
  .campus-topnav__title{
    font-size:.88rem;
  }
  .campus-topnav__section,
  #campusBrandSection.campus-topnav__section{
    max-width:40vw;
    font-size:.68rem;
  }
  .campus-shell-row > .admin-crm-sidebar,
  body.campus-crm-page .campus-shell-row > .admin-crm-sidebar,
  body.admin-crm-page .campus-shell-row > .admin-crm-sidebar,
  .canvas-platform .campus-shell-row > .admin-crm-sidebar,
  .canvas-platform.canvas-course .campus-shell-row > .admin-crm-sidebar,
  .canvas-platform.canvas-course .campus-shell-row > .course-progress-sidebar{
    position:fixed!important;
    left:0!important;
    top:var(--campus-topnav-h)!important;
    bottom:0!important;
    z-index:1040;
    flex:0 0 auto!important;
    width:min(17.5rem,88vw)!important;
    max-width:min(17.5rem,88vw)!important;
    height:calc(100vh - var(--campus-topnav-h))!important;
    max-height:calc(100vh - var(--campus-topnav-h))!important;
    transform:translateX(-105%)!important;
    transition:transform .2s ease;
    overflow-y:auto;
    box-shadow:var(--dash-shadow,0 8px 24px rgba(0,18,154,.12));
  }
  .admin-crm-shell.is-sidebar-open .campus-shell-row > .admin-crm-sidebar,
  #campusCrmShell.is-sidebar-open .campus-shell-row > .admin-crm-sidebar,
  #adminTabsShell.is-sidebar-open .campus-shell-row > .admin-crm-sidebar{
    transform:translateX(0)!important;
  }
  .campus-shell-row > .admin-crm-main{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
  }
  .admin-crm-shell.is-sidebar-open::after,
  #campusCrmShell.is-sidebar-open::after,
  #adminTabsShell.is-sidebar-open::after{
    content:"";
    position:fixed;
    inset:var(--campus-topnav-h) 0 0 0;
    background:rgba(12,22,111,.35);
    z-index:1035;
  }
  .canvas-platform.canvas-course #campusCrmShell.is-sidebar-open::after,
  .canvas-platform.canvas-course .admin-crm-shell.is-sidebar-open::after{
    content:""!important;
    display:block!important;
  }
}

/* Active nav · glassmorphism (sin barra lateral) */
.admin-crm-nav__link.is-active,
.admin-crm-nav__link--kpi.is-kpi-active,
.admin-crm-page .admin-crm-nav__link.is-active,
.campus-crm-page .admin-crm-nav__link.is-active,
.canvas-platform .admin-crm-nav__link.is-active,
.repo-tree__item.is-active,
.nav-link.active{
  border-left:0!important;
  border-left-color:transparent!important;
  background:linear-gradient(135deg,rgba(255,255,255,.78) 0%,rgba(235,241,252,.58) 100%)!important;
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.8),
    0 1px 2px rgba(15,23,42,.04),
    0 8px 20px rgba(0,18,154,.1)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  color:var(--color-primary,#00129A)!important;
  border-radius:999px!important;
}
.admin-crm-nav__link.is-active i,
.admin-crm-nav__link--kpi.is-kpi-active i,
.canvas-platform .admin-crm-nav__link.is-active i,
.repo-tree__item.is-active i{
  color:var(--color-primary,#00129A)!important;
  opacity:1!important;
}
.admin-segment-btn.is-active{
  background:linear-gradient(135deg,rgba(255,255,255,.78) 0%,rgba(235,241,252,.58) 100%)!important;
  backdrop-filter:blur(14px) saturate(1.35);
  -webkit-backdrop-filter:blur(14px) saturate(1.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 4px 14px rgba(0,18,154,.08)!important;
  border-color:rgba(255,255,255,.55)!important;
  color:var(--color-primary,#00129A)!important;
}

/* ── Finder macOS · Documentos admin ── */
#adminPanelDocs{
  --finder-bg:#ececec;
  --finder-sidebar:#f6f6f6;
  --finder-line:rgba(0,0,0,.08);
  --finder-text:#1d1d1f;
  --finder-muted:#6e6e73;
  --finder-select:#0a84ff;
  --finder-select-soft:rgba(10,132,255,.14);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
}
#adminPanelDocs .admin-crm-metrics--section-docs{display:none!important}
.finder-window{
  display:flex;
  flex-direction:column;
  min-height:min(72vh,820px);
  margin:0 .15rem 1rem;
  border-radius:12px;
  overflow:hidden;
  background:var(--finder-bg);
  border:1px solid rgba(0,0,0,.12);
  box-shadow:
    0 1px 0 rgba(255,255,255,.65) inset,
    0 18px 40px rgba(15,23,42,.14),
    0 2px 6px rgba(15,23,42,.08);
}
.finder-toolbar{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  padding:.45rem .7rem;
  background:linear-gradient(180deg,#f7f7f7,#ededed);
  border-bottom:1px solid rgba(0,0,0,.08);
}
.finder-toolbar__nav{display:flex;gap:.2rem}
.finder-tool-btn{
  width:28px;height:26px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(0,0,0,.1);
  border-radius:6px;
  background:#fff;
  color:#3a3a3c;
  font-size:.85rem;
  padding:0;
}
.finder-tool-btn:disabled{opacity:.35}
.finder-tool-btn:not(:disabled):hover{background:#f2f2f7}
.finder-path{
  display:inline-flex;align-items:center;gap:.4rem;
  min-height:28px;
  padding:.15rem .7rem;
  border-radius:7px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.08);
  font-size:.8rem;
  font-weight:600;
  color:var(--finder-text);
}
.finder-path i{color:#5ac8fa;font-size:.95rem}
.finder-toolbar__filters{display:flex;gap:.4rem;margin-left:auto}
.finder-select{
  appearance:none;
  min-height:28px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:7px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%236e6e73' d='M4.5 6l3.5 3.5L11.5 6'/%3E%3C/svg%3E") no-repeat right .45rem center;
  padding:.2rem 1.4rem .2rem .55rem;
  font-size:.78rem;
  font-weight:500;
  color:var(--finder-text);
}
.finder-search{
  display:flex;align-items:center;gap:.35rem;
  min-width:11rem;
  min-height:28px;
  padding:0 .55rem;
  border-radius:7px;
  background:#fff;
  border:1px solid rgba(0,0,0,.1);
}
.finder-search i{color:var(--finder-muted);font-size:.85rem}
.finder-search input{
  border:0;outline:0;background:transparent;
  width:100%;min-width:0;
  font-size:.8rem;color:var(--finder-text);
}
.finder-search input::placeholder{color:#aeaeb2}
.finder-body{
  display:grid;
  grid-template-columns:212px minmax(0,1fr);
  min-height:0;
  flex:1;
  background:#fff;
}
.finder-sidebar{
  background:var(--finder-sidebar);
  border-right:1px solid var(--finder-line);
  padding:.65rem .45rem .9rem;
  overflow:auto;
}
.finder-sidebar__label{
  margin:.55rem .55rem .25rem;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--finder-muted);
}
.finder-side-item{
  width:100%;
  display:grid;
  grid-template-columns:18px 1fr auto;
  align-items:center;
  gap:.45rem;
  border:0;
  background:transparent;
  text-align:left;
  padding:.32rem .5rem;
  border-radius:7px;
  color:var(--finder-text);
  font-size:.82rem;
  font-weight:500;
}
.finder-side-item i{font-size:.95rem;color:#8e8e93}
.finder-side-item em{
  font-style:normal;
  font-size:.72rem;
  font-weight:600;
  color:var(--finder-muted);
}
.finder-side-item:hover{background:rgba(0,0,0,.04)}
.finder-side-item.is-active,
.finder-side-item.is-kpi-active{
  background:var(--finder-select);
  color:#fff;
}
.finder-side-item.is-active i,
.finder-side-item.is-kpi-active i,
.finder-side-item.is-active em,
.finder-side-item.is-kpi-active em{color:#fff}
.finder-ico--blue{color:#0a84ff!important}
.finder-ico--teal{color:#64d2ff!important}
.finder-ico--orange{color:#ff9f0a!important}
.finder-ico--purple{color:#bf5af2!important}
.finder-side-item.is-active .finder-ico--blue,
.finder-side-item.is-active .finder-ico--teal,
.finder-side-item.is-active .finder-ico--orange,
.finder-side-item.is-active .finder-ico--purple,
.finder-side-item.is-kpi-active .finder-ico--blue,
.finder-side-item.is-kpi-active .finder-ico--teal,
.finder-side-item.is-kpi-active .finder-ico--orange,
.finder-side-item.is-kpi-active .finder-ico--purple{color:#fff!important}
.finder-tag{
  width:10px;height:10px;border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.finder-tag--green{background:#30d158}
.finder-tag--amber{background:#ffd60a}
.finder-main{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:420px;
  background:#fff;
}
.finder-loader{
  display:flex;align-items:center;justify-content:center;gap:.55rem;
  flex:1;color:var(--finder-muted);font-size:.85rem;
}
.finder-list-shell{
  display:flex;flex-direction:column;flex:1;min-height:0;
}
.finder-list-wrap{
  flex:1;overflow:auto;min-height:0;
}
.finder-list-head,
.finder-row{
  display:grid;
  grid-template-columns:minmax(14rem,2.4fr) .85fr .85fr .75fr auto;
  gap:.5rem;
  align-items:center;
  padding:.28rem .85rem;
}
.finder-list-head{
  position:sticky;top:0;z-index:2;
  background:linear-gradient(180deg,#fafafa,#f3f3f3);
  border-bottom:1px solid rgba(0,0,0,.08);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--finder-muted);
}
.finder-row{
  border-bottom:1px solid rgba(0,0,0,.04);
  cursor:default;
  outline:none;
}
.finder-row:nth-child(even){background:#fcfcfc}
.finder-row:hover{background:#f2f2f7}
.finder-row.is-selected{
  background:var(--finder-select-soft)!important;
  box-shadow:inset 3px 0 0 var(--finder-select);
}
.finder-row__name{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:.65rem;
  min-width:0;
}
.finder-row__text{
  display:flex;flex-direction:column;min-width:0;gap:.05rem;
}
.finder-file-ico{
  width:28px;height:32px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:5px;
  font-size:1.35rem;
  flex:0 0 auto;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));
}
.finder-file-ico--pdf{color:#ff453a}
.finder-file-ico--xls{color:#30d158}
.finder-file-ico--doc{color:#0a84ff}
.finder-file-ico--img{color:#bf5af2}
.finder-file-ico--vid{color:#64d2ff}
.finder-file-ico--file{color:#8e8e93}
.finder-window .admin-docs-row__title{
  font-size:.86rem;
  font-weight:600;
  letter-spacing:-.01em;
  color:var(--finder-text);
}
.finder-window .admin-docs-row__meta{
  font-size:.72rem;
  color:var(--finder-muted);
}
.finder-window .admin-docs-row__cell{
  font-size:.78rem;
  font-weight:500;
  color:#3a3a3c;
}
.finder-window .admin-docs-row__code{display:none}
.finder-window .admin-docs-status{
  border-radius:5px;
  font-size:.68rem;
  font-weight:700;
  min-height:1.35rem;
  padding:.1rem .4rem;
}
.finder-row__actions{
  opacity:0;
  transition:opacity .12s ease;
}
.finder-row:hover .finder-row__actions,
.finder-row.is-selected .finder-row__actions,
.finder-row:focus-within .finder-row__actions{opacity:1}
.finder-row-btn{
  width:26px;height:26px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(0,0,0,.08);
  border-radius:6px;
  background:#fff;
  color:#3a3a3c;
  font-size:.78rem;
  padding:0;
}
.finder-row-btn:hover{background:#f2f2f7}
.finder-row-btn--primary{
  background:var(--finder-select);
  border-color:transparent;
  color:#fff;
}
.finder-row-btn--primary:hover{background:#0077ed;color:#fff}
.finder-row-btn--danger{color:#ff453a}
.finder-statusbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:.75rem;
  min-height:28px;
  padding:.25rem .75rem;
  background:linear-gradient(180deg,#f7f7f7,#ededed);
  border-top:1px solid rgba(0,0,0,.08);
  font-size:.72rem;
  font-weight:600;
  color:var(--finder-muted);
}
.finder-pager{display:inline-flex;align-items:center;gap:.35rem}
.finder-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.55rem;flex:1;min-height:280px;
  color:var(--finder-muted);text-align:center;padding:2rem 1rem;
}
.finder-empty i{font-size:2.4rem;opacity:.45}
.finder-empty p{margin:0;font-size:.9rem;font-weight:600;color:var(--finder-text)}
.finder-link-btn{
  border:0;background:transparent;color:var(--finder-select);
  font-size:.8rem;font-weight:600;padding:0;
}
.finder-link-btn:hover{text-decoration:underline}
@media (max-width:992px){
  .finder-body{grid-template-columns:1fr}
  .finder-sidebar{
    display:flex;flex-wrap:wrap;gap:.25rem;
    border-right:0;border-bottom:1px solid var(--finder-line);
    padding:.5rem;
  }
  .finder-sidebar__label{width:100%;margin:.35rem .25rem 0}
  .finder-side-item{width:auto;min-width:9rem}
  .finder-toolbar__filters{margin-left:0;width:100%}
  .finder-search{flex:1;min-width:8rem}
}
@media (max-width:720px){
  .finder-list-head{display:none}
  .finder-row{
    grid-template-columns:1fr auto;
    gap:.4rem .65rem;
    padding:.55rem .75rem;
  }
  .finder-row__kind,
  .finder-row__date,
  .finder-window .admin-docs-status{display:none}
  .finder-row__actions{opacity:1}
  .finder-row__name{grid-column:1 / -1}
}


/* SAR · botones primarios: pill + contraste (icono y texto blancos) */
.catalog-cta--continue,
.dash-btn--primary,
.btn-start,
.btn-primary,
.canvas-dashboard .catalog-cta--continue,
.canvas-catalog-page .catalog-cta--continue,
.canvas-platform .catalog-cta--continue,
.canvas-dashboard .catalog-chip.is-active,
.canvas-dashboard .dash-toolbar .catalog-chip.is-active,
body.ranking-page .rank-board-tabs__btn.is-active{
  background:linear-gradient(180deg,#7aa3eb 0%,var(--color-primary,#00129A) 100%)!important;
  border-color:var(--color-primary,#00129A)!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:0 4px 14px rgba(0,18,154,.22)!important
}
.catalog-cta--continue i,
.catalog-cta--continue .fa-solid,
.dash-btn--primary i,
.dash-btn--primary .fa-solid,
.btn-start i,
.btn-start .fa-solid,
.btn-primary i,
.btn-primary .fa-solid,
.canvas-dashboard .catalog-cta--continue i,
.canvas-dashboard .catalog-cta--continue .fa-solid,
.canvas-catalog-page .catalog-cta--continue i,
.canvas-catalog-page .catalog-cta--continue .fa-solid,
.canvas-platform .catalog-cta--continue i,
.canvas-platform .catalog-cta--continue .fa-solid,
.canvas-dashboard .catalog-chip.is-active i,
.canvas-dashboard .catalog-chip.is-active .fa-solid,
body.ranking-page .rank-board-tabs__btn.is-active i,
body.ranking-page .rank-board-tabs__btn.is-active .fa-solid{
  color:#fff!important;
  opacity:1!important
}
.catalog-cta--continue:hover:not(:disabled),
.dash-btn--primary:hover:not(:disabled),
.btn-start:hover:not(:disabled),
.btn-primary:hover:not(:disabled),
.btn-primary:focus-visible,
.canvas-dashboard .catalog-cta--continue:hover:not(:disabled),
.canvas-catalog-page .catalog-cta--continue:hover:not(:disabled),
.canvas-platform .catalog-cta--continue:hover:not(:disabled){
  color:#fff!important;
  filter:brightness(1.06);
  background:linear-gradient(180deg,#7aa3eb 0%,var(--color-primary,#00129A) 100%)!important;
  border-color:var(--color-primary,#00129A)!important;
  box-shadow:0 6px 18px rgba(0,18,154,.28)!important
}
.catalog-cta--continue:hover:not(:disabled) i,
.catalog-cta--continue:hover:not(:disabled) .fa-solid,
.dash-btn--primary:hover:not(:disabled) i,
.dash-btn--primary:hover:not(:disabled) .fa-solid,
.btn-start:hover:not(:disabled) i,
.btn-start:hover:not(:disabled) .fa-solid,
.btn-primary:hover:not(:disabled) i,
.btn-primary:hover:not(:disabled) .fa-solid,
.btn-primary:focus-visible i,
.btn-primary:focus-visible .fa-solid{
  color:#fff!important
}
.btn-start{border:none!important}
@media (prefers-reduced-motion:reduce){
  .catalog-cta--continue:hover:not(:disabled),
  .dash-btn--primary:hover:not(:disabled),
  .btn-start:hover:not(:disabled),
  .btn-primary:hover:not(:disabled){filter:none}
}

/* SAR · botones: layout icono + texto (sin solape) */
.dash-btn,
.catalog-cta,
.btn-start,
.btn-primary,
.repo-action-btn{
  --fa-display:block;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  line-height:1.15!important;
  white-space:nowrap
}
.dash-btn--sm{
  gap:.5rem!important;
  padding-inline:.95rem!important
}
.dash-btn--icon{
  gap:0!important;
  width:2.35rem!important;
  min-width:2.35rem!important;
  padding:0!important
}
.dash-btn span,
.btn-start span,
.btn-primary span{
  display:inline-block;
  line-height:1.15
}
.dash-btn .fa-solid,
.dash-btn .fa-regular,
.dash-btn .fa-brands,
.catalog-cta .fa-solid,
.catalog-cta .fa-regular,
.btn-start .fa-solid,
.btn-start .fa-regular,
.btn-primary .fa-solid,
.btn-primary .fa-regular,
.repo-action-btn .fa-solid,
.repo-action-btn .fa-regular{
  font-size:.65rem!important;
  font-weight:900!important;
  line-height:1!important;
  width:auto!important;
  height:auto!important;
  min-width:0;
  flex:0 0 auto!important;
  display:inline-block!important;
  margin:0!important;
  vertical-align:0;
  speak:never
}
.dash-btn--sm .fa-solid,
.dash-btn--sm .fa-regular,
.catalog-cta--continue .fa-solid,
.btn-sm .fa-solid{
  font-size:.62rem!important
}
.dash-btn--icon .fa-solid,
.dash-btn--icon .fa-regular{
  font-size:.8rem!important
}
.repo-action-btn .fa-solid,
.repo-action-btn .fa-regular{
  font-size:.68rem!important
}
.admin-crm-nav__link .fa-solid,
.admin-crm-nav__link .fa-regular{
  font-size:.9rem!important;
  width:1.1rem;
  text-align:center;
  flex:0 0 auto
}
.repo-preview__fallback .fa-solid,
.repo-preview__fallback .fa-regular,
.text-center .display-4.fa-solid,
i.display-4.fa-solid{
  font-size:1.25rem!important;
  line-height:1!important
}
/* Primarios / secundarios · pulido visual */
.dash-btn--primary,
.btn-start,
.btn-primary,
.catalog-cta--continue{
  letter-spacing:.01em;
  font-weight:700!important;
  border-width:1px!important;
  border-style:solid!important
}
.dash-btn--secondary{
  display:inline-flex!important;
  align-items:center!important;
  gap:.55rem!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(0,18,154,.18)!important;
  color:var(--color-primary,#00129A)!important;
  box-shadow:0 1px 3px rgba(15,23,42,.04)!important
}
.dash-btn--secondary:hover:not(:disabled),
.dash-btn--secondary:focus-visible{
  background:var(--color-surface-soft,#EBF1FC)!important;
  border-color:rgba(0,18,154,.32)!important;
  color:var(--color-primary,#00129A)!important
}
.dash-btn--secondary .fa-solid,
.dash-btn--secondary .fa-regular{
  color:inherit!important
}
.dash-btn--ghost{
  border-radius:999px!important;
  gap:.55rem!important
}
.dash-btn:focus-visible,
.btn-start:focus-visible,
.catalog-cta:focus-visible{
  outline:2px solid var(--color-secondary,#6491E3);
  outline-offset:2px
}
/* Chips / segmentos / tabs · icono + texto */
.catalog-chip,
.admin-segment-btn,
.rank-board-tabs__btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:.45rem!important
}
.catalog-chip .fa-solid,
.admin-segment-btn .fa-solid,
.rank-board-tabs__btn .fa-solid{
  font-size:.75rem!important;
  font-weight:900!important;
  line-height:1!important;
  width:auto!important;
  flex:0 0 auto
}
.admin-segment-btn.is-active .fa-solid{
  color:var(--color-primary,#00129A)!important;
  opacity:1!important
}
