:root{--bg:#f6f8fb;--surface:#fff;--ink:#102b52;--muted:#71819a;--line:#dce4ee;--blue:#1498ef;--cyan:#10b7c5;--green:#58c72c;--shadow:0 5px 18px rgba(16,43,82,.06)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button{font:inherit}.app-shell{width:100%;max-width:1120px;margin:0 auto;padding:0 14px 22px}.topbar{min-height:62px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;margin:0 -14px;padding:8px 14px;position:relative}.brand{display:flex;align-items:center;min-width:0}.brand-logo{display:block;width:auto;max-width:158px;max-height:40px;object-fit:contain;object-position:left center}.menu-button{border:0;background:transparent;color:var(--ink);font-size:1.45rem;padding:8px;cursor:pointer}.global-menu{position:absolute;right:14px;top:56px;z-index:30;min-width:178px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.12);padding:5px}.global-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px;border-radius:7px;color:var(--ink)}main{padding-top:14px}.eyebrow{font-size:.67rem;font-weight:900;letter-spacing:.18em;color:var(--cyan);margin-bottom:10px}.context-block{padding:2px 0 14px}.context-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.identity{display:flex;align-items:center;gap:9px;min-width:0}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-weight:900;flex:0 0 auto}.identity-copy{min-width:0}.identity-copy strong{font-size:.9rem}.muted{font-size:.72rem;color:var(--muted);margin-top:2px}.eo-block{text-align:right;min-width:0}.eo-label{display:block;font-size:.56rem;font-weight:900;letter-spacing:.12em;color:var(--cyan)}.eo-block strong{display:block;max-width:170px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-section{margin-top:4px}.tv-title-row h2{font-size:.76rem;margin:0 0 5px}.tv-console{width:min(100%,250px);margin-left:0;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);padding:7px}.tv-monitor{aspect-ratio:16/9;width:100%;background:#071a33;border-radius:7px;overflow:hidden;display:grid;place-items:center;color:#c5cfdb}.tv-monitor:fullscreen{width:100vw;height:100vh;border-radius:0}.tv-placeholder{font-size:.72rem;font-weight:800;opacity:.7}.tv-console-base{display:flex;align-items:center;gap:4px;padding-top:5px}.tv-channels{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:1;min-width:0}.channel{min-width:0;height:30px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:0 7px;font-size:.67rem;font-weight:750;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;overflow:hidden}.channel span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel.is-active{border-color:var(--blue);color:#0879c8;background:#f3faff}.expand-button{height:30px;border:0;background:transparent;color:var(--ink);font-size:.66rem;font-weight:800;display:flex;align-items:center;gap:4px;padding:0 4px;cursor:pointer}.modules-section{margin-top:14px}.modules-grid{display:grid;grid-template-columns:1fr;gap:7px}.module-card{position:relative;border:1px solid var(--line);border-top:3px solid var(--module-accent,var(--blue));background:#fff;border-radius:10px;padding:10px 32px 10px 12px;text-align:left;min-height:61px;color:var(--ink);cursor:pointer;box-shadow:0 2px 8px rgba(16,43,82,.025)}.module-card::after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#8a9ab0;font-size:1.25rem}.module-card strong{display:block;font-size:.84rem}.module-card span{display:block;margin-top:3px;font-size:.69rem;color:var(--muted)}.module-card[data-module="mns"]{--module-accent:#13b9bd}.module-card[data-module="training"]{--module-accent:#7855e8}.module-card[data-module="docs"]{--module-accent:#e4a019}.module-card[data-module="schedule"]{--module-accent:#22b978}.module-card[data-module="admin"]{--module-accent:#8491a3}.footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:22px;font-size:.62rem;color:#9aa7b8}.powered{display:flex;align-items:center;gap:5px}.powered img{display:block;max-height:18px;max-width:76px;object-fit:contain}
@media(min-width:560px){.app-shell{padding-left:18px;padding-right:18px}.topbar{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-console{width:245px}.eo-block strong{max-width:280px}}
@media(min-width:900px){.app-shell{padding-left:22px;padding-right:22px}.topbar{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}.context-block{padding-top:6px;padding-bottom:8px}.tv-section{display:flex;flex-direction:column;align-items:flex-end;margin-top:-2px}.tv-title-row{width:238px}.tv-console{width:238px}.modules-section{margin-top:10px}.modules-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.module-card{min-height:66px}.footer{padding-top:24px}}

/* v0.1.3 · bloque superior compacto: identidad + TV comparten la misma franja */
.context-block{padding-bottom:6px}
.context-row{align-items:flex-start}
.tv-section{margin:0 0 8px}
.tv-title-row{display:none}
.tv-console{width:min(100%,220px);padding:5px;border-radius:10px}
.tv-monitor{border-radius:6px}
.tv-console-base{gap:3px;padding-top:4px}
.channel{height:28px;padding:0 5px;font-size:.62rem}
.expand-button{height:28px;font-size:.61rem;padding:0 2px}
.modules-section{margin-top:8px}

@media(max-width:559px){
  main{padding-top:12px}
  .context-block{padding-bottom:8px}
  .context-row{align-items:center}
  .eo-block strong{max-width:135px}
  .tv-section{display:flex;justify-content:flex-end;margin-top:-2px}
  .tv-console{width:190px}
  .modules-section{margin-top:10px}
}

@media(min-width:560px){
  main{position:relative}
  .context-block{padding-right:235px;min-height:150px}
  .tv-section{position:absolute;right:0;top:16px;margin:0}
  .tv-console{width:220px}
  .modules-section{margin-top:0}
}

@media(min-width:900px){
  .context-block{padding-right:225px;min-height:146px;padding-bottom:4px}
  .tv-section{position:absolute;right:0;top:14px;display:block;margin:0}
  .tv-console{width:212px}
  .modules-section{margin-top:0}
}
