/* KOVRA PC — sidebar único compartido, idéntico al aprobado en Más. */
.kovra-shared-sidebar{display:none}
@media (min-width:1025px){
  :root{
    --km-side:248px;
    --km-border:var(--theme-border-strong);
    --km-green:var(--theme-accent);
    --km-green2:var(--theme-accent);
    --kh-sidebar:248px!important;
    --kc-sidebar:248px!important;
    --kl-sidebar:248px!important;
  }

  /* Navegación PC única: no existen sidebars alternativos debajo de esta capa. */
  body.kovra-home-page>.bottom-nav,
  body.kovra-home-page .kovra-logo-home{display:none!important}

  /* Mantener la misma reserva lateral de Más en las páginas con ancho codificado. */
  .pc-cobros-main,
  .pc-reports-main,
  .pc-plans-main{
    margin-left:248px!important;
    width:calc(100% - 248px)!important;
  }

  .kovra-shared-sidebar,
  .kovra-shared-sidebar *{box-sizing:border-box}

  .kovra-shared-sidebar{
    position:fixed!important;
    z-index:7000!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:var(--km-side)!important;
    display:flex!important;
    flex-direction:column!important;
    padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
    border-right:1px solid var(--theme-border) !important;
    background:var(--theme-nav) !important;
    box-shadow:none !important;
    font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    color:var(--theme-text)!important;
    text-rendering:optimizeLegibility;
  }

  .kovra-shared-sidebar svg{
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.75!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  .kovra-shared-sidebar .km2-brand{
    height:100px!important;
    flex-shrink:0!important;
    display:flex!important;
    align-items:center!important;
    padding:0 14px!important;
    border:0!important;
    text-decoration:none!important;
  }
  .kovra-shared-sidebar .km2-brand img{
    width:132px!important;
    max-width:132px!important;
    height:auto!important;
    display:block!important;
  }

  .kovra-shared-sidebar .km2-menu-label{
    position:relative!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    padding:14px 14px 14px 44px!important;
    margin:0 0 8px!important;
    border:1px solid var(--theme-border)!important;
    border-radius:10px!important;
    background:var(--theme-surface-2)!important;
    color:var(--theme-text) !important;
    font-size:15px!important;
    line-height:1.08!important;
    font-weight:900!important;
    letter-spacing:.18em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    text-shadow:none !important;
  }
  .kovra-shared-sidebar .km2-menu-label::before{
    content:"◆"!important;
    position:absolute!important;
    left:18px!important;
    top:50%!important;
    transform:translateY(-50%) rotate(45deg)!important;
    color:var(--theme-accent) !important;
    font-size:10px!important;
    line-height:1!important;
    text-shadow:none !important;
  }
  .kovra-shared-sidebar .km2-menu-label::after{
    content:""!important;
    position:absolute!important;
    left:4px!important;
    top:10px!important;
    bottom:10px!important;
    width:2px!important;
    border-radius:999px!important;
    background:var(--theme-accent) !important;
    box-shadow:none !important;
  }

  .kovra-shared-sidebar .km2-nav{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:0!important;
  }
  .kovra-shared-sidebar .km2-nav-item{
    position:relative!important;
    width:100%!important;
    height:55px!important;
    min-height:55px!important;
    display:grid!important;
    grid-template-columns:31px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:center!important;
    margin:0!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:var(--theme-muted) !important;
    text-decoration:none!important;
    font-size:14.5px!important;
    line-height:1!important;
    font-weight:520!important;
    box-shadow:none !important;
  }
  .kovra-shared-sidebar .km2-nav-item>span{
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    color:var(--theme-text-2) !important;
  }
  .kovra-shared-sidebar .km2-nav-item svg{
    width:24px!important;
    height:24px!important;
  }
  .kovra-shared-sidebar .km2-nav-item strong{
    min-width:0!important;
    color:inherit!important;
    font-size:inherit!important;
    line-height:1.1!important;
    font-weight:520!important;
    white-space:nowrap!important;
  }
  .kovra-shared-sidebar .km2-nav-item:hover{
    background:var(--theme-surface-2) !important;
  }
  .kovra-shared-sidebar .km2-nav-item.active{
    color:var(--theme-accent-strong)!important;
    background:var(--theme-accent-soft) !important;
    box-shadow:inset 0 0 0 1px var(--theme-border)!important;
  }
  .kovra-shared-sidebar .km2-nav-item.active::before{
    content:""!important;
    position:absolute!important;
    left:-8px!important;
    top:7px!important;
    bottom:7px!important;
    width:4px!important;
    border-radius:0 5px 5px 0!important;
    background:var(--theme-accent) !important;
    box-shadow:none !important;
  }
  .kovra-shared-sidebar .km2-nav-item.active>span{
    color:var(--theme-accent)!important;
  }

  .kovra-shared-sidebar .km2-sidebar-bottom{
    margin-top:auto!important;
    flex-shrink:0!important;
    display:grid!important;
    gap:14px!important;
    padding:0 6px!important;
  }
  .kovra-shared-sidebar .km2-create-wrap{
    position:relative!important;
    margin:0!important;
  }
  .kovra-shared-sidebar .km2-create{
    width:100%!important;
    height:45px!important;
    min-height:45px!important;
    display:grid!important;
    grid-template-columns:25px 1fr 20px!important;
    align-items:center!important;
    margin:0!important;
    padding:0 14px!important;
    border:1px solid var(--theme-accent-strong)!important;
    border-radius:10px!important;
    background:var(--theme-accent) !important;
    color:var(--theme-on-accent) !important;
    font-size:15px!important;
    font-weight:800!important;
    cursor:pointer!important;
    box-shadow:none !important;
  }
  .kovra-shared-sidebar .km2-create>span{
    display:grid!important;
    place-items:center!important;
  }
  .kovra-shared-sidebar .km2-create svg{
    width:20px!important;
    height:20px!important;
    stroke-width:2!important;
  }
  .kovra-shared-sidebar .km2-create b{
    color:var(--theme-on-accent) !important;
    font-size:15px!important;
    font-weight:800!important;
  }
  .kovra-shared-sidebar .km2-create i{
    display:grid!important;
    place-items:center!important;
    color:var(--theme-on-accent) !important;
    font-size:16px!important;
    font-style:normal!important;
  }
  .kovra-shared-sidebar .km2-create-menu{
    position:absolute!important;
    z-index:25!important;
    left:0!important;
    right:0!important;
    bottom:53px!important;
    padding:6px!important;
    border:1px solid var(--km-border)!important;
    border-radius:9px!important;
    background:var(--theme-surface) !important;
    box-shadow:none !important;
  }
  .kovra-shared-sidebar .km2-create-menu[hidden]{display:none!important}
  .kovra-shared-sidebar .km2-create-menu a{
    display:block!important;
    min-height:0!important;
    padding:10px!important;
    border-radius:7px!important;
    background:transparent!important;
    color:var(--theme-text-2) !important;
    text-decoration:none!important;
    font-size:13px!important;
    font-weight:600!important;
  }
  .kovra-shared-sidebar .km2-create-menu a:hover{
    background:var(--theme-accent-soft) !important;
  }

  .kovra-shared-sidebar .km2-account-card{
    width:100%!important;
    min-height:78px!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 14px!important;
    gap:10px!important;
    align-items:center!important;
    margin:0!important;
    padding:10px!important;
    border:1px solid var(--theme-border) !important;
    border-radius:10px!important;
    background:var(--theme-surface)!important;
    color:var(--theme-text) !important;
    text-align:left!important;
    text-decoration:none!important;
    cursor:pointer!important;
  }
  .kovra-shared-sidebar .km2-account-icon{
    width:32px!important;
    height:32px!important;
    display:grid!important;
    place-items:center!important;
    color:var(--theme-accent) !important;
  }
  .kovra-shared-sidebar .km2-account-icon svg{
    width:20px!important;
    height:20px!important;
  }
  .kovra-shared-sidebar .km2-account-card>span:nth-child(2){min-width:0!important}
  .kovra-shared-sidebar .km2-account-card strong,
  .kovra-shared-sidebar .km2-account-card small,
  .kovra-shared-sidebar .km2-account-card em{
    display:block!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .kovra-shared-sidebar .km2-account-card strong{
    color:var(--theme-text) !important;
    font-size:12px!important;
    font-weight:700!important;
  }
  .kovra-shared-sidebar .km2-account-card small{
    margin-top:3px!important;
    color:var(--theme-text-2) !important;
    font-size:12px!important;
  }
  .kovra-shared-sidebar .km2-account-card em{
    margin-top:4px!important;
    color:var(--theme-muted) !important;
    font-size:12px!important;
    font-style:normal!important;
  }
  .kovra-shared-sidebar .km2-account-card>i{
    display:grid!important;
    place-items:center!important;
    color:var(--theme-muted) !important;
    font-style:normal!important;
  }
  .kovra-shared-sidebar .km2-account-card>i svg{
    width:14px!important;
    height:14px!important;
  }

  /* Evita que breakpoints viejos reduzcan de nuevo el área reservada. */
  @media (max-width:1500px){
    :root{
      --kh-sidebar:248px!important;
      --kc-sidebar:248px!important;
      --kl-sidebar:248px!important;
    }
    .pc-cobros-main,
    .pc-reports-main,
    .pc-plans-main{
      margin-left:248px!important;
      width:calc(100% - 248px)!important;
    }
  }
}
@media (min-width:1025px){
  .kovra-shared-sidebar{padding-bottom:max(18px,env(safe-area-inset-bottom))!important;-webkit-font-smoothing:antialiased!important;text-rendering:optimizeLegibility!important;font-synthesis:none!important}
  .kovra-shared-sidebar .km2-account-card{grid-template-columns:34px minmax(0,1fr)!important;cursor:default!important;pointer-events:none!important}
  .kovra-shared-sidebar .km2-account-card>i{display:none!important}
  .kovra-shared-sidebar .km2-account-card strong{font-size:12.5px!important;line-height:1.2!important}
  .kovra-shared-sidebar .km2-account-card small{font-size:12px!important;line-height:1.25!important}
  .kovra-shared-sidebar .km2-account-card em{font-size:12px!important;line-height:1.25!important}
  .kovra-shared-sidebar .km2-create-menu a{font-size:12.5px!important;line-height:1.25!important}
  .kovra-shared-sidebar img{image-rendering:auto!important;filter:none!important}
}

/* KOVRA PC short-height fit — same sidebar/order, only compresses vertical rhythm so every button stays visible without scrolling. */
@media (min-width:1025px) and (max-height:850px){
  .kovra-shared-sidebar .km2-brand{height:76px!important}
  .kovra-shared-sidebar .km2-menu-label{min-height:40px!important;padding:9px 14px 9px 44px!important}
  .kovra-shared-sidebar .km2-nav{gap:0!important;overflow-y:hidden!important}
  .kovra-shared-sidebar .km2-nav-item{height:44px!important;min-height:44px!important}
  .kovra-shared-sidebar .km2-nav-item>span{width:25px!important;height:25px!important}
  .kovra-shared-sidebar .km2-nav-item svg{width:21px!important;height:21px!important}
  .kovra-shared-sidebar .km2-sidebar-bottom{gap:8px!important}
  .kovra-shared-sidebar .km2-create{height:40px!important;min-height:40px!important}
  .kovra-shared-sidebar .km2-account-card{min-height:64px!important;padding:8px!important}
}
@media (min-width:1025px) and (max-height:690px){
  .kovra-shared-sidebar{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
  .kovra-shared-sidebar .km2-brand{height:60px!important}
  .kovra-shared-sidebar .km2-menu-label{min-height:32px!important;padding:6px 12px 6px 40px!important;font-size:13px!important}
  .kovra-shared-sidebar .km2-nav-item{height:38px!important;min-height:38px!important;font-size:13px!important}
  .kovra-shared-sidebar .km2-nav-item>span{width:23px!important;height:23px!important}
  .kovra-shared-sidebar .km2-nav-item svg{width:19px!important;height:19px!important}
  .kovra-shared-sidebar .km2-create{height:36px!important;min-height:36px!important}
  .kovra-shared-sidebar .km2-account-card{min-height:54px!important;padding:6px 8px!important}
  .kovra-shared-sidebar .km2-account-card em{display:none!important}
}
