/* Intranet: las mismas medidas y componentes dentro de ambos shells.
   Los estilos del menú lateral siguen perteneciendo a webapp. */
body.intra-module.no-shell-body{display:block;min-width:0!important;min-height:100vh;margin:0;overflow:auto;background:var(--et-bg)}
.intra-module .main-content.no-shell{width:100%;max-width:none;margin:0;min-height:100vh;min-height:100dvh}
.intra-module .main-content>.container-fluid{width:100%;max-width:none;padding-left:22px;padding-right:22px}
.intra-module .main-content>.container-fluid>.inner-body{padding-top:22px;padding-bottom:32px;min-width:0}
.intra-module #intra-root,.intra-module #page-content{width:100%;max-width:none;min-width:0;margin:0}
.intra-module .intra-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 18px}
.intra-module .intra-header h1{font-size:22px;font-weight:700;color:var(--et-primary);margin:0 0 8px;line-height:1.25}
.intra-module .intra-header p{font-size:13px;color:var(--et-ink-soft);margin:0}
.intra-module .intra-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.intra-module .intra-nav{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--et-line);margin-bottom:20px;max-width:100%}
.intra-module .intra-nav[hidden]{display:none}
.intra-module #intra-workspace{min-width:0;width:100%}
.intra-module .intra-view{min-width:0;width:100%}
.intra-module .intra-view-description{margin:0 0 14px;font-size:13px;color:var(--et-ink-soft)}
.intra-module .intra-view-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.intra-module #intra-admin-nav{margin-top:-12px}
.intra-module #intra-admin-nav a{font-size:12px;padding:10px}
.intra-module .intra-nav a{display:inline-flex;align-items:center;gap:7px;padding:12px 15px;white-space:nowrap;color:var(--et-ink-soft);border-bottom:3px solid transparent;text-decoration:none;font-size:13px;font-weight:500}
.intra-module .intra-nav a[aria-current=page]{color:var(--et-primary);border-color:var(--et-accent);font-weight:700}
.intra-module .intra-nav a:hover{color:var(--et-primary)}
.intra-module .intra-nav-badge{min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--et-danger);color:white;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.intra-module .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.intra-module .intra-home-grid,.intra-module .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.intra-module .intra-home-grid>*,.intra-module .grid-2>*,.intra-module .grid-2-1>*{min-width:0}
.intra-module .intra-home-stack{display:flex;flex-direction:column;gap:14px}
.intra-module .intra-home-grid-single{grid-template-columns:minmax(0,1fr)}
.intra-module .grid-2-1{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}
.intra-module .card{min-width:0;background:var(--et-surface);border:1px solid var(--et-line);border-radius:var(--et-radius);box-shadow:var(--et-shadow-sm)}
.intra-module .card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--et-line)}
.intra-module .card-hd h3{margin:0;font-size:14px;font-weight:700;color:var(--et-primary)}
.intra-module .card-body{padding:18px;min-width:0}
.intra-module .poll-opt{position:relative;padding:10px 13px;border-radius:var(--et-radius-sm);background:var(--et-surface);overflow:hidden;font-size:13px}
.intra-module .poll-fill{position:absolute;inset:0 auto 0 0;z-index:0}
.intra-module .poll-opt>span{position:relative;z-index:1}
.intra-module .feed-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border:1px solid var(--et-line);border-radius:var(--et-radius-sm);background:var(--et-surface)}
.intra-module .feed-ic{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px}
.intra-module .feed-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;font-size:12px;color:var(--et-ink-muted)}
.intra-module .modal-overlay{position:fixed;inset:0;z-index:1100;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.5);overflow:auto}
.intra-module .modal-overlay.open{display:flex}
.intra-module .modal-overlay>.modal-box{width:100%;max-width:640px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;flex-shrink:0;margin:auto;background:var(--et-surface);border-radius:var(--et-radius);box-shadow:var(--et-shadow-lg)}
.intra-module .table-responsive{max-width:100%;overflow:auto}
.intra-module .empty-state{text-align:center;align-items:center}
.intra-module .form-control{max-width:100%}
.intra-module .intra-attendance-reminder{display:flex;align-items:center;gap:12px;padding:16px 18px;margin-bottom:18px;border:1px solid var(--et-warning);border-radius:var(--et-radius);background:var(--et-warning-soft,#fff7e6)}
.intra-module .intra-attendance-reminder>div{flex:1;min-width:0}
.intra-module .intra-attendance-reminder p{margin:3px 0 0}
@media(max-width:900px){
  .intra-module .intra-home-grid,.intra-module .grid-2,.intra-module .grid-2-1{grid-template-columns:minmax(0,1fr)}
  .intra-module .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  .intra-module .main-content>.container-fluid{padding-left:14px;padding-right:14px}
  .intra-module .intra-header{align-items:flex-start;flex-direction:column}
  .intra-module .intra-attendance-reminder{flex-wrap:wrap}
}
@media(max-width:375px){.intra-module .kpi-grid{grid-template-columns:minmax(0,1fr)!important}}

/* Componentes funcionales de Webapp: filas, filtros y tarjetas. */
.intra-module .admin-row {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  background: var(--card);
  transition: box-shadow var(--t-fast), border-color var(--t-fast);
}
.intra-module .admin-row:hover { box-shadow: var(--sh-sm); border-color: var(--border2) }
.intra-module .admin-row + .admin-row { margin-top: 10px }
.intra-module .admin-row-body { flex: 1; min-width: 0 }
.intra-module .admin-row-title { font-size: 14.5px; font-weight: 700; color: var(--text) }
.intra-module .admin-row-sub { font-size: 13px; color: var(--muted); margin-top: 2px }




.intra-module .intra-hero{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:22px 24px;color:#fff;background:var(--g-blue);box-shadow:var(--sh-lg)}
.intra-module .intra-hero::after{content:'';position:absolute;right:-40px;top:-50px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.10)}
.intra-module .intra-hero::before{content:'';position:absolute;right:60px;bottom:-70px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.06)}
.intra-module .intra-hero h2{font-size:22px;font-weight:800;letter-spacing:-.5px;position:relative}
.intra-module .intra-hero p{font-size:13px;opacity:.9;margin-top:3px;position:relative}
.intra-module .intra-hero .hero-av{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;border:2px solid rgba(255,255,255,.3)}

.intra-module .st{border-left:4px solid var(--border)!important}
.intra-module .st-blue{border-left-color:var(--btn-info)!important}
.intra-module .st-amber{border-left-color:var(--amber)!important}
.intra-module .st-green{border-left-color:var(--green)!important}
.intra-module .st-grey{border-left-color:var(--border2)!important}
.intra-module .st-red{border-left-color:var(--red)!important}

.intra-module .feed-item{display:flex;gap:13px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);cursor:pointer;transition:box-shadow var(--t-fast),transform var(--t-fast)}
.intra-module .feed-item:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.intra-module .feed-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.intra-module .feed-meta{font-size:11px;color:var(--muted2);margin-top:6px;display:flex;align-items:center;gap:6px}
.intra-module .dot-unread{width:8px;height:8px;border-radius:50%;background:var(--btn-info);flex-shrink:0}

.intra-module .person-card{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);overflow:hidden;transition:box-shadow var(--t-fast),transform var(--t-fast)}
.intra-module .person-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.intra-module .person-top{padding:18px 16px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;background:linear-gradient(180deg,var(--bg2),var(--card))}
.intra-module .person-av{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:800;box-shadow:var(--sh-sm);border:3px solid var(--card)}
.intra-module .person-name{font-size:13.5px;font-weight:800;line-height:1.2}
.intra-module .person-role{font-size:11.5px;color:var(--muted)}
.intra-module .person-contact{display:flex;border-top:1px solid var(--border)}
.intra-module .person-contact a{flex:1;padding:9px;text-align:center;font-size:12px;color:var(--blue);text-decoration:none;font-weight:600;transition:background var(--t-fast)}
.intra-module .person-contact a:hover{background:var(--blue-soft)}
.intra-module .person-contact a+a{border-left:1px solid var(--border)}

.intra-module .chip{padding:6px 13px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border2);background:var(--card);color:var(--muted);cursor:pointer;transition:all var(--t-fast);white-space:nowrap}
.intra-module .chip:hover{border-color:var(--blue);color:var(--blue)}
.intra-module .chip.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 8px rgba(42,59,110,.3)}

.intra-module .quick{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);cursor:pointer;text-decoration:none;color:var(--text);transition:box-shadow var(--t-fast),transform var(--t-fast),border-color var(--t-fast)}
.intra-module .quick:hover{box-shadow:var(--sh-md);transform:translateY(-2px);border-color:var(--blue)}
.intra-module .quick-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.intra-module .quick-badge{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}

.intra-module .poll-opt{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);padding:10px 13px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color var(--t-fast);background:var(--card)}
.intra-module .poll-opt:hover{border-color:var(--blue)}
.intra-module .poll-fill{position:absolute;inset:0;background:var(--blue-soft);z-index:0}
.intra-module .poll-opt span{position:relative;z-index:1}

.intra-module .row-item{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);transition:box-shadow var(--t-fast)}
.intra-module .row-item:hover{box-shadow:var(--sh-sm)}
.intra-module .row-ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.intra-module .check-box{width:24px;height:24px;border-radius:8px;border:2px solid var(--border2);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:#fff;transition:all var(--t-fast)}
.intra-module .check-box.on{background:var(--green);border-color:var(--green)}

.intra-module .kb-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);padding:16px 18px;cursor:pointer;transition:box-shadow var(--t-fast),transform var(--t-fast);display:flex;flex-direction:column;gap:8px}
.intra-module .kb-card:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.intra-module .kb-title{font-size:14px;font-weight:700;line-height:1.35;color:var(--text)}
.intra-module .kb-util{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:10px;margin-top:2px}

.intra-module .canal-cat{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--card);padding:14px 16px;cursor:pointer;transition:all var(--t-fast);display:flex;gap:12px;align-items:flex-start}
.intra-module .canal-cat:hover{border-color:var(--blue);box-shadow:var(--sh-sm)}
.intra-module .canal-cat.selected{border-color:var(--blue);background:var(--blue-soft)}
.intra-module .folio-box{background:var(--g-blue);color:#fff;border-radius:var(--r-xl);padding:22px 24px;text-align:center}
.intra-module .folio-code{font-size:26px;font-weight:900;font-family:var(--mono);letter-spacing:2px;display:block;margin:8px 0}


.intra-module .pill-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border2);background:var(--card);font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all var(--t-fast)}
.intra-module .pill-btn:hover{border-color:var(--blue);color:var(--blue)}
.intra-module .pill-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}
.intra-module .intra-loading{padding:40px 20px;text-align:center;color:var(--muted);font-size:13px}


.intra-module .intra-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.intra-module .intra-section-header>.intra-view-description,.intra-module .intra-section-header>.intra-view-actions{margin:0}
@media(max-width:600px){.intra-module .admin-row{flex-wrap:wrap}.intra-module .admin-row-body{flex-basis:100%}}
/* Asistente y calendario: mismos componentes en ambos proyectos. */
.intra-module .intra-ia{padding:16px 18px;margin:0 0 18px}
.intra-module .intra-ia[hidden]{display:none}
.intra-module .intra-ia-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.intra-module .intra-ia-heading h3{margin:0;font-size:14px;color:var(--et-primary)}
.intra-module #intra-ia-status{font-size:12px;margin:8px 0 0}
.intra-module #intra-ia-result{white-space:pre-wrap;line-height:1.6;font-size:13px;margin-top:10px}
.intra-module #intra-ia-result:empty{display:none}
.intra-module .cal-grid>.cal-header{display:flex;justify-content:center;margin:0;text-align:center;font-size:11px;font-weight:700;color:var(--et-ink-soft);padding:8px 2px}
.intra-module .cal-day{aspect-ratio:auto;min-height:76px;padding:10px;border:1px solid var(--et-line);border-radius:8px;background:var(--et-surface);font-size:12px}
.intra-module .cal-day.otro-mes{opacity:.4;background:var(--et-bg)}
.intra-module .cal-day-num{font-weight:600}
.intra-module .cal-dot{width:6px;height:6px;margin:5px auto 0;border-radius:50%;font-size:0}
@media(max-width:600px){.intra-module .cal-day{min-height:54px;padding:6px 2px}.intra-module .cal-header{font-size:10px}}
.intra-module .intra-category-panel{margin-top:20px}
.intra-module #admin-categories[hidden]{display:none}
.intra-module .intra-category-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}
.intra-module .intra-category-editor{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--et-line);border-radius:10px;background:var(--et-bg)}
.intra-module .intra-category-active{display:flex;gap:8px;align-items:center}
.intra-module .intra-category-active input{width:auto}
.intra-module #cat-status{padding:0 18px;font-size:13px}
.intra-module #intra-admin-nav{margin-top:0}
.intra-module #intra-admin-nav a{font-size:13px;padding:12px 15px}
@media(max-width:800px){.intra-module .intra-category-grid{grid-template-columns:minmax(0,1fr)}}

/* Colaborador: entradas nativas al aprendizaje autenticado. */
.intra-learning-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.intra-learning-link {display:flex;flex-direction:row;align-items:center;gap:14px;padding:20px;color:#2a3b6e;border:1px solid #dfe6f2;border-radius:12px;background:#fff;text-decoration:none}
.intra-learning-link>i:first-child {display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:9px;background:#eef0fa;font-size:18px}
.intra-learning-link>div {min-width:0;flex:1}
.intra-learning-link h3 {font-size:14px;font-weight:600;margin:0 0 7px}
.intra-learning-link p {font-size:12px;line-height:1.6;color:#667c9c;margin:0}
.intra-learning-link:hover {border-color:#4e73df;text-decoration:none}
.intra-learning-link:focus-visible {outline:3px solid #8bb3ed;outline-offset:3px}
@media(max-width:700px){.intra-learning-links{grid-template-columns:minmax(0,1fr)}.intra-learning-link{padding:16px}}
.intra-learning-panel{padding:20px;min-width:0;width:100%;border:1px solid #dfe6f2;border-radius:12px;background:#fff}
.intra-learning-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.intra-learning-header h2{font-size:16px;font-weight:600;color:#2a3b6e;margin:0 0 8px}.intra-learning-header h2 i{margin-right:8px}
.intra-learning-header p,.intra-learning-table td p{font-size:12px;color:#667c9c;margin:6px 0;overflow-wrap:anywhere}
.intra-learning-actions{display:flex;gap:8px;flex-wrap:wrap}.intra-learning-actions i,.intra-learning-table .btn i{margin-right:6px}
.intra-learning-table{width:100%;border-collapse:collapse;font-size:13px}.intra-learning-table thead{background:linear-gradient(135deg,#4E73DF 0%,#17A2B8 100%);color:#fff}
body.intra-module .intra-learning-table thead tr,body.intra-module .intra-learning-table thead th{background:transparent;color:#fff}
.intra-learning-table th{font-size:11px;text-transform:uppercase;padding:12px;text-align:left}.intra-learning-table th i{margin-right:7px;color:#fff}
.intra-learning-table td{padding:16px 12px;vertical-align:middle;border-bottom:1px solid #e2e8f2}.intra-learning-table td:first-child{width:42%}
.intra-learning-title{font-weight:600}.intra-learning-table td a:not(.btn){color:#2a3b6e;text-decoration:underline;text-underline-offset:3px}
.intra-learning-progress{display:flex;align-items:center;gap:10px}.intra-learning-track{display:block;width:100px;height:6px;border-radius:6px;background:#e2e8f2;overflow:hidden;flex-shrink:0}.intra-learning-track>span{display:block;height:100%;background:#0fa968;border-radius:inherit}
.intra-learning-table .intra-learning-status{display:inline-block;padding:4px 9px;border-radius:7px;background:#edf3fc;color:#246396;font-size:12px}.intra-learning-table .intra-learning-status.is-complete{background:#edf9f3;color:#08734c}
.intra-learning-panel a:focus-visible,.intra-learning-panel button:focus-visible{outline:3px solid #8bb3ed;outline-offset:3px}
@media(max-width:700px){body.intra-module .intra-learning-table td:last-child{position:static;min-width:0;max-width:none;width:auto;box-shadow:none}body.intra-module .intra-learning-table td .btn{justify-self:start;min-width:110px;overflow-wrap:normal;white-space:nowrap}}
.intra-learning-message{text-align:center;padding:32px 16px;color:#667c9c}.intra-learning-message>i{font-size:26px}.intra-learning-message h3{font-size:16px;color:#2a3b6e;margin:12px 0}.intra-learning-message p{font-size:13px}
@media(max-width:700px){.intra-learning-panel{padding:16px}.intra-learning-table,.intra-learning-table tbody{display:block}.intra-learning-table thead{display:none}.intra-learning-table tr{display:block;border:1px solid #dfe6f2;border-radius:9px;margin-bottom:12px;padding:8px}.intra-learning-table td,.intra-learning-table td:first-child{display:grid;grid-template-columns:minmax(74px,28%) minmax(0,1fr);width:auto;gap:10px;padding:10px 6px;overflow-wrap:anywhere}.intra-learning-table td::before{content:attr(data-label);font-size:11px;font-weight:600;color:#667c9c;text-transform:uppercase}.intra-learning-table td>p{grid-column:2}.intra-learning-table .btn{white-space:normal}.intra-learning-track{width:70px}.intra-learning-header{gap:12px}}
.intra-learning-table .intra-learning-certificate{display:inline-flex;gap:6px;align-items:center;margin-top:8px;color:#09694f;border-color:#90ccb8;background:#edf8f3}
.intra-learning-table .intra-enroll{margin:8px 0 0 6px}#learning-enroll-status:not(:empty){padding:0 18px;color:#c9274b}.intra-learning-panel+.intra-learning-panel{margin-top:16px}@media(max-width:700px){.intra-learning-table .intra-enroll{margin-left:0}}
body.intra-module .intra-learning-message{font-size:13px;line-height:1.55}
.intra-learning-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.intra-learning-row-actions .intra-learning-certificate,.intra-learning-row-actions .intra-enroll{margin:0}
@media(max-width:700px){.intra-learning-row-actions{flex-direction:column;align-items:flex-start}}
