/* HV314 · ROUND289 · Actividad por usuario / historial de conexiones */
.hv314-user-activity{background:linear-gradient(180deg,#fff,#fcfdf9)}
.hv314-head{margin-bottom:13px}.hv314-controls{display:grid;gap:10px;margin-bottom:13px;padding:12px;border:1px solid rgba(47,53,104,.07);border-radius:16px;background:#fafbf7}.hv314-presets{display:flex;gap:6px;flex-wrap:wrap}.hv314-presets button{border:1px solid rgba(47,53,104,.08);background:#fff;color:#737d88;border-radius:999px;padding:7px 10px;font-size:.58rem;font-weight:850;cursor:pointer}.hv314-presets button.active{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}.hv314-tools{display:grid;grid-template-columns:minmax(180px,1fr) 130px;gap:9px}.hv314-tools label,.hv314-custom label{display:grid;gap:5px;color:#7d8691;font-size:.55rem;font-weight:900}.hv314-tools input,.hv314-tools select,.hv314-custom input{width:100%;min-height:38px;border:1px solid rgba(47,53,104,.1);border-radius:11px;background:#fff;padding:8px 10px;color:var(--brand-navy);font:inherit;font-size:.65rem}.hv314-custom{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.hv314-custom button{min-height:38px;border:0;border-radius:11px;background:var(--brand-navy);color:#fff;padding:8px 13px;font-size:.61rem;font-weight:900;cursor:pointer}
.hv314-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.hv314-summary span{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;border-radius:999px;background:#f1f4e7;color:#747d86;font-size:.56rem;font-weight:800}.hv314-summary b{color:#697723}.hv314-recent{display:grid;gap:8px;margin:0 0 12px;padding:12px;border:1px solid rgba(47,53,104,.07);border-radius:16px;background:#fff}.hv314-recent-head{display:flex;align-items:end;justify-content:space-between;gap:10px}.hv314-recent-head small{display:block;color:#879431;font-size:.52rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.hv314-recent-head strong{display:block;margin-top:2px;color:var(--brand-navy);font-size:.78rem}.hv314-recent-head>span{color:#8b929a;font-size:.54rem;font-weight:850}.hv314-recent-list{display:grid;gap:6px}.hv314-recent-item{display:grid;gap:4px;width:100%;padding:9px 10px;border:1px solid rgba(47,53,104,.06);border-radius:12px;background:#fafbf8;text-align:left;cursor:pointer}.hv314-recent-item:hover{background:#f7f9ef;border-color:rgba(132,149,47,.18)}.hv314-recent-item>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.hv314-recent-item strong{color:var(--brand-navy);font-size:.62rem}.hv314-recent-item span,.hv314-recent-item small{color:#8e969e;font-size:.52rem}.hv314-recent-item p{margin:0;color:#737c86;font-size:.56rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hv314-note{margin:0 0 10px;padding:10px 12px;border:1px solid rgba(136,152,52,.14);border-radius:12px;background:#f8faf1;color:#7f8967;font-size:.59rem;line-height:1.45}.hv314-note.is-warning{border-color:rgba(173,111,52,.16);background:#fbf6ef;color:#916f4c}.hv314-footnote{margin-top:9px;color:#959ca4;font-size:.55rem;line-height:1.45}
.hv314-table{min-width:1180px}.hv314-table td{vertical-align:middle}.hv314-user-link{display:grid;gap:1px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;font:inherit}.hv314-user-link strong{font-size:.64rem}.hv314-user-link small{display:block;color:#979da5;font-size:.54rem}.hv314-route-cell{max-width:250px}.hv314-route-cell>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--brand-navy);font-weight:800}.hv314-history-button{border:1px solid rgba(47,53,104,.09);border-radius:10px;background:#fff;color:var(--brand-navy);padding:7px 9px;font-size:.55rem;font-weight:900;cursor:pointer;white-space:nowrap}.hv314-history-button:hover{background:#f7f9ef;border-color:rgba(132,149,47,.28)}
.hv314-dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none}.hv314-dialog::backdrop{background:rgba(24,29,56,.34);backdrop-filter:blur(3px)}.hv314-dialog-card{width:min(980px,calc(100vw - 28px));max-height:min(90vh,860px);overflow:auto;border:1px solid rgba(47,53,104,.08);border-radius:25px;background:#fff;box-shadow:0 30px 90px rgba(25,31,63,.22);padding:20px}.hv314-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.hv314-dialog-head small{display:block;color:#879431;font-size:.56rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}.hv314-dialog-head h3{margin:4px 0;color:var(--brand-navy);font-size:1.2rem}.hv314-dialog-head p{margin:0;color:#89929c;font-size:.64rem}.hv314-dialog-head button{flex:0 0 auto;width:35px;height:35px;border:0;border-radius:50%;background:#f2f4ee;color:#747d87;font-size:1.25rem;cursor:pointer}
.hv314-detail-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.hv314-detail-kpis article{padding:12px;border:1px solid rgba(47,53,104,.07);border-radius:15px;background:#fbfcf8;min-width:0}.hv314-detail-kpis small{display:block;color:#8c949e;font-size:.52rem;font-weight:900;text-transform:uppercase}.hv314-detail-kpis strong{display:block;margin-top:5px;color:var(--brand-navy);font-size:.86rem;overflow:hidden;text-overflow:ellipsis}.hv314-detail-kpis span{display:block;margin-top:3px;color:#979ea6;font-size:.54rem;line-height:1.35}
.hv314-history{display:grid;gap:8px}.hv314-history-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:6px 0 2px}.hv314-history-title small{display:block;color:#879431;font-size:.54rem;font-weight:950;text-transform:uppercase}.hv314-history-title h4{margin:3px 0 0;color:var(--brand-navy);font-size:.9rem}.hv314-history-title>span{color:#737d2d;font-size:.58rem;font-weight:900}
.hv314-session{border:1px solid rgba(47,53,104,.075);border-radius:15px;background:#fff;overflow:hidden}.hv314-session summary{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(110px,.55fr) minmax(140px,.7fr) auto;gap:10px;align-items:center;padding:11px 12px;cursor:pointer;list-style:none}.hv314-session summary::-webkit-details-marker{display:none}.hv314-session summary>div{min-width:0}.hv314-session summary strong,.hv314-session summary b{display:block;color:var(--brand-navy);font-size:.62rem}.hv314-session summary small{display:block;margin-top:2px;color:#979ea6;font-size:.53rem;line-height:1.35}.hv314-session summary>span{color:#778326;font-size:.55rem;font-weight:900;white-space:nowrap}.hv314-session[open] summary{background:#f8faf2;border-bottom:1px solid #eef1e8}.hv314-session-body{padding:12px}.hv314-session-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}.hv314-session-meta span{padding:5px 8px;border-radius:999px;background:#f5f6f2;color:#89919a;font-size:.52rem}.hv314-session-meta b{color:var(--brand-navy)}.hv314-route-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.hv314-route-head>strong{color:var(--brand-navy);font-size:.63rem}.hv314-route-head>span{padding:4px 7px;border-radius:999px;font-size:.49rem;font-weight:900}.hv314-route-head .is-exact{background:#edf4df;color:#6c7a22}.hv314-route-head .is-rebuilt{background:#f2f3f1;color:#858d94}.hv314-timeline{display:grid;gap:0;border-left:1px solid #e7ebdc;margin-left:11px;padding-left:13px}.hv314-event{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:start;position:relative;padding:6px 0}.hv314-event i{display:grid;place-items:center;width:20px;height:20px;margin-left:-24px;border-radius:50%;background:#eef2df;color:#728025;font-style:normal;font-size:.48rem;font-weight:950;box-shadow:0 0 0 4px #fff}.hv314-event strong{display:block;color:var(--brand-navy);font-size:.6rem}.hv314-event small{display:block;margin-top:2px;color:#969da5;font-size:.51rem}.hv314-section-stats{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid #f0f2ed}.hv314-section-stats>strong{width:100%;color:#7e8791;font-size:.54rem;text-transform:uppercase}.hv314-section-stats span{padding:5px 7px;border-radius:9px;background:#f7f8f4;color:#858e97;font-size:.51rem}.hv314-section-stats b{color:var(--brand-navy)}
@media(max-width:900px){.hv314-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hv314-session summary{grid-template-columns:minmax(180px,1fr) 110px 130px auto}}
@media(max-width:700px){.hv314-controls{padding:10px}.hv314-tools{grid-template-columns:1fr}.hv314-custom{grid-template-columns:1fr 1fr}.hv314-custom button{grid-column:1/-1}.hv314-dialog{margin:auto 0 0 0;width:100%}.hv314-dialog-card{width:100vw;max-height:91vh;border-radius:24px 24px 0 0;padding:16px 14px calc(18px + env(safe-area-inset-bottom))}.hv314-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hv314-session summary{grid-template-columns:1fr auto;gap:7px}.hv314-session summary>div:nth-child(3){grid-column:1/2}.hv314-session summary>span{grid-column:2;grid-row:1/3}.hv314-route-head{align-items:flex-start;flex-direction:column}.hv314-table{min-width:1120px}}


/* HV315 · ROUND290 · refinamientos visuales móviles y correcciones UX */
.hv314-summary-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;margin-bottom:10px}
.hv314-refresh-inline{align-self:start;min-height:36px;border:1px solid rgba(47,53,104,.1);border-radius:999px;background:#fff;color:var(--brand-navy);padding:8px 14px;font-size:.62rem;font-weight:900;letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 20px rgba(25,31,63,.06)}
.hv314-refresh-inline:hover{background:#f7f9ef;border-color:rgba(132,149,47,.28)}

[data-admin-workspace-panel="analytics"] .v78-view-tabs{gap:8px;padding-bottom:2px}
[data-admin-workspace-panel="analytics"] .v78-view-tabs button{
  border:1px solid rgba(47,53,104,.08);
  background:#fff;
  color:#77808a;
  padding:8px 14px;
  min-height:42px;
  border-radius:18px;
  font-size:.68rem;
  font-weight:900;
  box-shadow:0 8px 20px rgba(25,31,63,.04);
  white-space:nowrap;
}
[data-admin-workspace-panel="analytics"] .v78-view-tabs button.active{
  background:var(--brand-navy);
  color:#fff;
  border-color:var(--brand-navy);
  box-shadow:0 10px 24px rgba(47,53,104,.15);
}

.hv314-controls{
  gap:12px;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(180deg,#fbfcf8,#f8faf4);
}
.hv314-presets{gap:8px}
.hv314-presets button{
  min-height:42px;
  border:1px solid rgba(47,53,104,.08);
  background:#fff;
  color:#7a838d;
  border-radius:16px;
  padding:8px 14px;
  font-size:.64rem;
  line-height:1.1;
  box-shadow:0 8px 18px rgba(25,31,63,.04);
}
.hv314-presets button.active{box-shadow:0 10px 24px rgba(47,53,104,.16)}
.hv314-tools label,.hv314-custom label{font-size:.6rem}
.hv314-tools input,.hv314-tools select,.hv314-custom input{min-height:40px;border-radius:13px;font-size:.68rem;padding:9px 11px}
.hv314-custom button{min-height:40px;border-radius:13px;font-size:.64rem}
.hv314-summary span{font-size:.59rem;padding:7px 11px}
.hv314-recent{padding:14px;border-radius:18px}
.hv314-recent-head strong{font-size:.82rem}
.hv314-recent-head>span{font-size:.58rem}
.hv314-recent-item{padding:11px 12px;border-radius:14px}
.hv314-recent-item strong{font-size:.67rem}
.hv314-recent-item span,.hv314-recent-item small{font-size:.56rem}
.hv314-recent-item p{font-size:.6rem}
.hv314-note{font-size:.62rem}
.hv314-user-link strong{font-size:.68rem}
.hv314-user-link small,.hv314-route-cell small,.hv314-history-button{font-size:.58rem}
.hv314-route-cell>span{font-size:.63rem}
.hv314-dialog-card{box-sizing:border-box;overflow-x:hidden}
.hv314-dialog-card *{min-width:0}
.hv314-dialog-head button{width:38px;height:38px}
.hv314-detail-kpis article{padding:13px}
.hv314-detail-kpis strong{font-size:.92rem}
.hv314-detail-kpis span{font-size:.57rem}
.hv314-history-title h4{font-size:.98rem}
.hv314-history-title>span{font-size:.61rem}
.hv314-session summary strong,.hv314-session summary b{font-size:.66rem}
.hv314-session summary small{font-size:.56rem}
.hv314-session-body{overflow-x:hidden}
.hv314-session-meta span,.hv314-section-stats span{font-size:.54rem}
.hv314-route-head>strong{font-size:.66rem}
.hv314-event strong{font-size:.63rem}
.hv314-event small{font-size:.54rem}

@media(max-width:700px){
  [data-admin-workspace-panel="analytics"] .v78-view-tabs button{
    min-height:40px;
    padding:7px 13px;
    border-radius:17px;
    font-size:.76rem;
  }
  .hv314-summary-bar{grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
  .hv314-refresh-inline{min-height:34px;padding:7px 12px;font-size:.63rem}
  .hv314-controls{padding:12px}
  .hv314-presets button{min-height:40px;padding:7px 12px;border-radius:15px;font-size:.72rem}
  .hv314-tools label,.hv314-custom label{font-size:.68rem}
  .hv314-tools input,.hv314-tools select,.hv314-custom input{font-size:.76rem}
  .hv314-custom button{font-size:.72rem}
  .hv314-summary span{font-size:.68rem}
  .hv314-recent-head small{font-size:.6rem}
  .hv314-recent-head strong{font-size:1.05rem}
  .hv314-recent-head>span{font-size:.68rem}
  .hv314-recent-item strong{font-size:.82rem}
  .hv314-recent-item span,.hv314-recent-item small{font-size:.67rem}
  .hv314-recent-item p{font-size:.72rem;white-space:normal}
  .hv314-note,.hv314-footnote{font-size:.68rem}
  .hv314-table{min-width:1180px}
  .hv314-user-link strong{font-size:.8rem}
  .hv314-user-link small,.hv314-route-cell small,.hv314-history-button{font-size:.67rem}
  .hv314-route-cell>span{font-size:.72rem}
  .hv314-dialog-card{width:calc(100vw - 8px);max-width:calc(100vw - 8px);padding:16px 12px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;overflow-x:hidden}
  .hv314-dialog-head h3{font-size:1.05rem;line-height:1.15}
  .hv314-dialog-head p{font-size:.72rem;line-height:1.45}
  .hv314-detail-kpis{grid-template-columns:1fr 1fr;gap:8px}
  .hv314-detail-kpis article{padding:12px}
  .hv314-detail-kpis small{font-size:.62rem}
  .hv314-detail-kpis strong{font-size:.95rem}
  .hv314-detail-kpis span{font-size:.65rem}
  .hv314-history-title small{font-size:.6rem}
  .hv314-history-title h4{font-size:1.02rem}
  .hv314-history-title>span{font-size:.68rem}
  .hv314-session{border-radius:16px}
  .hv314-session summary{grid-template-columns:1fr;gap:8px;padding:12px}
  .hv314-session summary>div:nth-child(3){grid-column:auto}
  .hv314-session summary>span{grid-column:auto;grid-row:auto;justify-self:start;white-space:normal;background:#eef2df;padding:6px 10px;border-radius:999px;font-size:.62rem}
  .hv314-session summary strong,.hv314-session summary b{font-size:.79rem}
  .hv314-session summary small{font-size:.68rem;line-height:1.4}
  .hv314-session-meta span,.hv314-section-stats span{font-size:.65rem}
  .hv314-route-head>strong{font-size:.76rem}
  .hv314-event strong{font-size:.72rem}
  .hv314-event small{font-size:.65rem}

  [data-admin-workspace-panel="analytics"] .hv312-kpis article small,
  [data-admin-workspace-panel="analytics"] .hv312-panel-head small,
  [data-admin-workspace-panel="analytics"] .hv312-summary-note,
  [data-admin-workspace-panel="analytics"] .hv312-empty,
  [data-admin-workspace-panel="analytics"] .hv312-table small,
  [data-admin-workspace-panel="analytics"] .hv295-empty,
  [data-admin-workspace-panel="analytics"] .hv295-table small,
  [data-admin-workspace-panel="analytics"] .hv295-rank-row small,
  [data-admin-workspace-panel="analytics"] .hv295-kpis article small{
    font-size:.68rem!important;
  }
  [data-admin-workspace-panel="analytics"] .hv312-kpis article strong,
  [data-admin-workspace-panel="analytics"] .hv295-kpis article strong{font-size:1.15rem!important}
  [data-admin-workspace-panel="analytics"] .hv312-kpis article span,
  [data-admin-workspace-panel="analytics"] .hv295-kpis article span,
  [data-admin-workspace-panel="analytics"] .hv312-panel-head p,
  [data-admin-workspace-panel="analytics"] .hv295-panel-head p,
  [data-admin-workspace-panel="analytics"] .hv312-rank-row small,
  [data-admin-workspace-panel="analytics"] .hv295-rank-row span,
  [data-admin-workspace-panel="analytics"] .hv312-table,
  [data-admin-workspace-panel="analytics"] .hv295-table,
  [data-admin-workspace-panel="analytics"] .hv312-meter span,
  [data-admin-workspace-panel="analytics"] .hv312-meter strong,
  [data-admin-workspace-panel="analytics"] .hv295-table td,
  [data-admin-workspace-panel="analytics"] .hv312-table td,
  [data-admin-workspace-panel="analytics"] .hv312-table th,
  [data-admin-workspace-panel="analytics"] .hv295-table th{
    font-size:.74rem!important;
  }
  [data-admin-workspace-panel="analytics"] .hv312-panel-head h4,
  [data-admin-workspace-panel="analytics"] .hv295-panel-head h4,
  [data-admin-workspace-panel="analytics"] .hv312-rank-row strong,
  [data-admin-workspace-panel="analytics"] .hv295-rank-row strong{
    font-size:.92rem!important;
  }
}

/* HV316 · ROUND291 · bottom sheet móvil verdaderamente a ancho completo */
@media(max-width:700px){
  #hv314-user-history-dialog.hv314-dialog[open]{
    position:fixed!important;
    inset:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:stretch!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #hv314-user-history-dialog.hv314-dialog[open] .hv314-dialog-card{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    max-height:92dvh!important;
    margin:0!important;
    padding:16px 16px calc(20px + env(safe-area-inset-bottom))!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-radius:24px 24px 0 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
  }
  #hv314-user-history-dialog.hv314-dialog[open] .hv314-dialog-head,
  #hv314-user-history-dialog.hv314-dialog[open] .hv314-detail-kpis,
  #hv314-user-history-dialog.hv314-dialog[open] .hv314-history,
  #hv314-user-history-dialog.hv314-dialog[open] .hv314-session{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

/* HV318 · ROUND293: el panel conserva su nodo durante refrescos del padre. */
