
/* R35.73.48 - Responsive Bloque 2 */
html,body{
  max-width:100%;
  overflow-x:hidden;
}

.v12-r48-form,
.v12-r48-actions,
.v12-r48-card,
.v12-r48-table-wrap,
.v12-r48-dialog{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.v12-r48-control{
  max-width:100%!important;
  box-sizing:border-box!important;
}

.v12-r48-table-wrap{
  width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable both-edges;
}

.v12-r48-tabs{
  width:100%!important;
  max-width:100%!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  gap:7px!important;
  padding-bottom:5px!important;
  -webkit-overflow-scrolling:touch;
}

.v12-r48-tabs>*{
  flex:0 0 auto!important;
}

.v12-r48-dialog{
  width:min(1180px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100vh - 32px)!important;
  overflow:auto!important;
  margin:16px auto!important;
}

@media(max-width:1024px){
  .v12-r48-form{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .v12-r48-form>*{
    min-width:0!important;
    max-width:100%!important;
  }

  .v12-r48-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    align-items:stretch!important;
  }

  .v12-r48-actions button,
  .v12-r48-actions a{
    min-height:44px!important;
  }

  .v12-r48-dialog{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 20px)!important;
    margin:10px auto!important;
    padding:14px!important;
  }

  .v12-r48-table-wrap table{
    min-width:720px;
  }
}

@media(max-width:700px){
  .v12-r48-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }

  .v12-r48-form>*,
  .v12-r48-form label,
  .v12-r48-form input,
  .v12-r48-form select,
  .v12-r48-form textarea{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .v12-r48-control{
    min-height:44px;
    font-size:16px!important;
  }

  textarea.v12-r48-control{
    min-height:78px;
  }

  .v12-r48-actions{
    width:100%!important;
  }

  .v12-r48-actions>button,
  .v12-r48-actions>a{
    flex:1 1 140px!important;
    min-height:44px!important;
    white-space:normal!important;
    line-height:1.15!important;
  }

  .v12-r48-card{
    width:100%!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }

  /* Tablas -> tarjetas verticales en celular */
  .v12-r48-table-wrap{
    overflow:visible!important;
    width:100%!important;
  }

  table.v12-r48-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    border:0!important;
  }

  table.v12-r48-table thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }

  table.v12-r48-table tbody,
  table.v12-r48-table tr,
  table.v12-r48-table td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  table.v12-r48-table tbody{
    display:grid!important;
    gap:10px!important;
  }

  table.v12-r48-table tbody tr{
    border:1px solid #e2e8f0!important;
    border-radius:12px!important;
    padding:8px 10px!important;
    background:#fff!important;
    overflow:hidden!important;
  }

  table.v12-r48-table tbody td{
    display:grid!important;
    grid-template-columns:minmax(100px,38%) minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
    padding:7px 2px!important;
    border:0!important;
    border-bottom:1px solid #eef2f7!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  table.v12-r48-table tbody td:last-child{
    border-bottom:0!important;
  }

  table.v12-r48-table tbody td::before{
    content:attr(data-v12-label);
    font-size:10px;
    line-height:1.25;
    font-weight:800;
    color:#64748b;
    text-transform:uppercase;
    overflow-wrap:anywhere;
  }

  table.v12-r48-table td button,
  table.v12-r48-table td a,
  table.v12-r48-table td select{
    max-width:100%!important;
    min-height:40px!important;
    white-space:normal!important;
  }
}
