:root{
  --page-gap: clamp(12px, 1.4vw, 24px);
  --section-gap: clamp(14px, 1.4vw, 22px);
  --card-radius: 18px;
  --control-height: 52px;
  --control-height-sm: 46px;
  --shadow-soft: 0 12px 32px rgba(20, 45, 85, .08);
  --border-soft: #d9e4ef;
  --panel-bg: rgba(255,255,255,.96);
  --text-soft: #5e7187;
  --nav-surface: linear-gradient(90deg, #061c2b 0%, #0a324b 44%, #0f2038 100%);
}

html,
body{
  max-width:100%;
  overflow-x:clip;
}

body{
  min-height:100vh;
}

.site-main{
  width:min(100%, 1920px);
  margin:0 auto;
  padding:clamp(14px, 1.4vw, 24px) var(--page-gap) clamp(28px, 2vw, 38px);
}

.page-shell,
.dash-center,
.home-page,
.admin-users-page,
.auth-page,
.acum-page{
  width:100%;
  max-width:none;
  margin:0;
}

.sien-nav{
  background:var(--nav-surface);
  box-shadow:0 10px 28px rgba(7, 24, 43, .18);
}

.sien-nav .container-fluid{
  width:min(100%, 1920px);
  margin:0 auto;
  padding-inline:var(--page-gap);
  gap:1rem;
}

.brand-stack{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.brand-title-main{
  font-size:clamp(1.15rem, .55vw + 1rem, 1.55rem);
  line-height:1.05;
}

.brand-subtitle{
  display:block;
  max-width:320px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.navbar-collapse{
  gap:.9rem;
}

.navbar-nav{
  gap:.45rem;
  flex-wrap:wrap;
}

.sien-nav .nav-link{
  display:inline-flex;
  align-items:center;
  gap:.32rem;
  min-height:46px;
  padding:.7rem 1rem;
  border-radius:999px;
  font-weight:800;
  white-space:nowrap;
}

.nav-auth-actions{
  margin-left:auto;
  justify-content:flex-end;
}

.nav-auth-btn,
.user-chip{
  min-height:46px;
  padding-inline:1rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.filter-card,
.acum-filter-card,
.panel-card,
.acum-panel,
.kpi-card,
.acum-kpi,
.summary-card-v3,
.admin-panel,
.auth-card,
.admin-kpi{
  border-radius:var(--card-radius) !important;
  border:1px solid rgba(12, 51, 64, .08) !important;
  box-shadow:var(--shadow-soft) !important;
}

.hero-panel,
.acum-hero,
.home-topbar-v3,
.home-entry-band-v4,
.home-roadmap-strip-v3{
  border-radius:calc(var(--card-radius) + 4px);
}

.filter-card .card-body,
.panel-card .card-body,
.acum-panel,
.admin-panel .card-body,
.summary-card-v3,
.auth-card .card-body{
  min-width:0;
}

.filter-head,
.acum-filter-head{
  gap:1rem;
  align-items:flex-start;
}

.selected-badge,
.chart-pill,
.acum-period,
.acum-inline-control,
.auth-side-pill,
.home-global-pill-v3{
  max-width:100%;
}

.filter-main-grid,
.acum-filter-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:var(--section-gap) clamp(10px, 1vw, 16px);
  width:100%;
  align-items:end;
}

.filter-main-grid > *,
.acum-filter-grid > *{
  min-width:0;
}

.filter-main-item,
.acum-filter-grid > label,
.acum-filter-actions--grid{
  min-width:0;
}

.filter-main-grid .fi-year,
.acum-filter-grid > :nth-child(1){grid-column:span 2;}
.filter-main-grid .fi-months,
.acum-filter-grid > :nth-child(2){grid-column:span 2;}
.filter-main-grid .fi-admin-branch,
.acum-filter-grid > :nth-child(3),
.acum-filter-grid #fieldAdminBranch{grid-column:span 2;}
.filter-main-grid .fi-provincia,
.filter-main-grid .fi-distrito,
.filter-main-grid .fi-red,
.filter-main-grid .fi-microred,
.filter-main-grid .fi-ris,
.filter-main-grid .fi-zona,
.filter-main-grid .fi-puerta,
.acum-filter-grid #fieldProvincia,
.acum-filter-grid #fieldDistrito,
.acum-filter-grid #fieldRed,
.acum-filter-grid #fieldMicrored,
.acum-filter-grid #fieldRis,
.acum-filter-grid #fieldZona,
.acum-filter-grid #fieldPuerta{grid-column:span 2;}
.filter-main-grid .fi-eess,
.acum-filter-grid #fieldEess{grid-column:span 3;}
.filter-main-grid .fi-grupo,
.filter-main-grid .fi-edad,
.acum-filter-grid .acum-filter-field{grid-column:span 2;}
.filter-main-grid .fi-alert{grid-column:1 / -1;}
.acum-filter-actions--grid{grid-column:span 3;}

.filter-label,
.acum-filter-grid label,
.admin-panel .form-label,
.offcanvas-body .form-label,
.auth-page .form-label{
  display:block;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#31465b;
}

.filter-label{
  margin-bottom:.45rem;
}

.filter-control,
.btn-month,
.auth-control,
.admin-panel .form-control,
.admin-panel .form-select,
.offcanvas-body .form-control,
.offcanvas-body .form-select,
.acum-filter-grid .form-control,
.acum-filter-grid .form-select,
.acum-multi-dropdown .btn-acum-multi{
  width:100%;
  min-height:var(--control-height);
  max-width:100%;
  border-radius:14px !important;
  border:1px solid var(--border-soft) !important;
  box-shadow:none !important;
}

.filter-control,
.btn-month,
.acum-filter-grid .form-control,
.acum-filter-grid .form-select,
.acum-multi-dropdown .btn-acum-multi,
.admin-panel .form-control,
.admin-panel .form-select,
.auth-control{
  padding-inline:.9rem;
}

.filter-control:focus,
.btn-month:focus,
.admin-panel .form-control:focus,
.admin-panel .form-select:focus,
.auth-control:focus,
.acum-filter-grid .form-control:focus,
.acum-filter-grid .form-select:focus,
.acum-multi-dropdown .btn-acum-multi:focus{
  border-color:rgba(14, 165, 233, .6) !important;
  box-shadow:0 0 0 .18rem rgba(14, 165, 233, .14) !important;
}

select,
button.dropdown-toggle,
.user-chip-text,
.acum-period,
.selected-badge,
.chart-pill,
.home-global-pill-v3{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

select:disabled,
input:disabled,
button:disabled{
  opacity:.72;
  cursor:not-allowed;
}

.filter-actions,
.acum-filter-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center;
}

.filter-actions .btn-action,
.acum-filter-actions .btn,
.auth-submit,
.admin-btn{
  min-height:var(--control-height);
  border-radius:14px;
  font-weight:800;
}

.kpi-card,
.acum-kpi,
.admin-kpi{
  height:100%;
}

.row.g-3 > [class*="col-"] > .kpi-card,
.row.g-3 > [class*="col-"] > .acum-kpi{
  height:100%;
}

.kpi-card .card-body,
.acum-kpi{
  display:flex;
  align-items:center;
  gap:1rem;
}

.kpi-card .card-body > .d-flex,
.acum-kpi-body{
  width:100%;
  min-width:0;
}

.kpi-value,
.acum-kpi strong,
.admin-kpi-value{
  overflow-wrap:anywhere;
}

.home-modules-grid-v4,
.admin-kpi-grid,
.insight-pills{
  display:grid;
  gap:var(--section-gap);
}

.home-modules-grid-v4{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.admin-kpi-grid{
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
}

.summary-card-v3,
.home-roadmap-card-v3{
  min-width:0;
}

.summary-head-actions-v3{
  flex-wrap:wrap;
  justify-content:flex-end;
}

.summary-kpi-grid-v3{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:.85rem;
}

.summary-bottom-grid-v3{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:var(--section-gap);
}

.table-shell,
.table-responsive,
.nominal-wrap{
  width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

.tabla-resumen-wrap{
  max-height:70vh;
}

.sien-table,
.acum-table,
.admin-users-table{
  min-width:100%;
}

.sien-table thead th,
.acum-table thead th,
.admin-users-table thead th{
  position:sticky;
  top:0;
  z-index:2;
}

.sien-table td,
.sien-table th,
.acum-table td,
.acum-table th,
.admin-users-table td,
.admin-users-table th,
#tblNominal td,
#tblNominal th{
  white-space:nowrap;
  vertical-align:middle;
}

.sien-table td.text-end,
.sien-table td.num,
.acum-table td.text-end,
.admin-users-table td.text-end{
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.table-search-control{
  max-width:320px;
}

.chart-main-wrap,
.chart-trend-wrap,
.chart-secondary-wrap,
.acum-chart-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
}

.chart-main-wrap,
.acum-chart-wrap--wide{
  min-height:420px;
}

.chart-trend-wrap,
.acum-chart-wrap--trend-full{
  min-height:320px;
}

.acum-panel-head,
.card-header{
  gap:.85rem;
}

.auth-page .row{
  --bs-gutter-x:0;
}

.auth-card{
  width:min(100%, 1120px);
  margin:0 auto;
}

.auth-links{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1rem;
}

.admin-users-page{
  padding-bottom:2rem;
}

.admin-mobile-list{
  display:grid;
  gap:1rem;
}

.admin-user-canvas{
  width:min(100%, 540px) !important;
}

.loading-soft{
  position:relative;
  overflow:hidden;
}

.loading-soft::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.48), rgba(255,255,255,0));
  transform:translateX(-100%);
  animation:loadingSweep .95s ease-in-out infinite;
  pointer-events:none;
}

@keyframes loadingSweep{
  100%{transform:translateX(100%);}
}

@media (max-width: 1599.98px){
  .filter-main-grid .fi-eess,
  .acum-filter-grid #fieldEess{grid-column:span 4;}

  .chart-main-wrap,
  .acum-chart-wrap--wide{min-height:390px;}
}

@media (max-width: 1199.98px){
  .filter-main-grid,
  .acum-filter-grid{
    grid-template-columns:repeat(6, minmax(0, 1fr));
  }

  .filter-main-grid .fi-year,
  .filter-main-grid .fi-months,
  .filter-main-grid .fi-admin-branch,
  .filter-main-grid .fi-provincia,
  .filter-main-grid .fi-distrito,
  .filter-main-grid .fi-red,
  .filter-main-grid .fi-microred,
  .filter-main-grid .fi-ris,
  .filter-main-grid .fi-zona,
  .filter-main-grid .fi-puerta,
  .filter-main-grid .fi-grupo,
  .filter-main-grid .fi-edad,
  .acum-filter-grid > :nth-child(1),
  .acum-filter-grid > :nth-child(2),
  .acum-filter-grid > :nth-child(3),
  .acum-filter-grid #fieldAdminBranch,
  .acum-filter-grid #fieldProvincia,
  .acum-filter-grid #fieldDistrito,
  .acum-filter-grid #fieldRed,
  .acum-filter-grid #fieldMicrored,
  .acum-filter-grid #fieldRis,
  .acum-filter-grid #fieldZona,
  .acum-filter-grid #fieldPuerta,
  .acum-filter-grid .acum-filter-field{
    grid-column:span 2;
  }

  .filter-main-grid .fi-eess,
  .acum-filter-grid #fieldEess,
  .acum-filter-actions--grid{
    grid-column:span 3;
  }

  .home-modules-grid-v4,
  .summary-bottom-grid-v3{
    grid-template-columns:1fr;
  }
}

@media (max-width: 991.98px){
  .sien-nav .container-fluid{
    align-items:flex-start;
  }

  .navbar-collapse{
    width:100%;
    margin-top:.85rem;
    padding:1rem;
    border-radius:20px;
    background:rgba(5, 21, 34, .72);
    backdrop-filter:blur(10px);
  }

  .navbar-nav,
  .nav-auth-actions{
    width:100%;
  }

  .sien-nav .nav-link,
  .nav-auth-actions .nav-auth-btn,
  .nav-auth-actions .user-chip{
    width:100%;
    justify-content:center;
  }

  .filter-actions{
    width:100%;
  }

  .filter-actions .btn-action{
    flex:1 1 calc(50% - .35rem);
  }

  .summary-head-actions-v3{
    justify-content:flex-start;
  }
}

@media (max-width: 767.98px){
  .site-main{
    padding-top:14px;
  }

  .brand-subtitle{
    max-width:210px;
  }

  .filter-main-grid,
  .acum-filter-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .filter-main-grid > *,
  .acum-filter-grid > *,
  .filter-main-grid .fi-year,
  .filter-main-grid .fi-months,
  .filter-main-grid .fi-admin-branch,
  .filter-main-grid .fi-provincia,
  .filter-main-grid .fi-distrito,
  .filter-main-grid .fi-red,
  .filter-main-grid .fi-microred,
  .filter-main-grid .fi-ris,
  .filter-main-grid .fi-zona,
  .filter-main-grid .fi-puerta,
  .filter-main-grid .fi-eess,
  .filter-main-grid .fi-grupo,
  .filter-main-grid .fi-edad,
  .acum-filter-grid #fieldAdminBranch,
  .acum-filter-grid #fieldProvincia,
  .acum-filter-grid #fieldDistrito,
  .acum-filter-grid #fieldRed,
  .acum-filter-grid #fieldMicrored,
  .acum-filter-grid #fieldRis,
  .acum-filter-grid #fieldZona,
  .acum-filter-grid #fieldPuerta,
  .acum-filter-grid #fieldEess,
  .acum-filter-grid .acum-filter-field{
    grid-column:span 1;
  }

  .filter-main-grid .fi-alert,
  .acum-filter-actions--grid{
    grid-column:1 / -1;
  }

  .acum-filter-actions--grid .btn,
  .filter-actions .btn-action{
    flex:1 1 calc(50% - .35rem);
  }

  .table-search-control,
  #txtSearchAcum{
    max-width:none !important;
    width:100%;
  }

  .chart-main-wrap,
  .acum-chart-wrap--wide{min-height:340px;}
  .chart-trend-wrap,
  .acum-chart-wrap--trend-full{min-height:280px;}
}

@media (max-width: 479.98px){
  .site-main{
    padding-inline:12px;
  }

  .filter-main-grid,
  .acum-filter-grid{
    grid-template-columns:1fr;
  }

  .filter-main-grid > *,
  .acum-filter-grid > *{
    grid-column:1 / -1 !important;
  }

  .filter-actions .btn-action,
  .acum-filter-actions--grid .btn{
    flex:1 1 100%;
  }

  .brand-title-main{
    font-size:1.05rem;
  }

  .version-pill{
    display:none;
  }
}


/* Protección final contra desbordes en cualquier vista */
.site-main > *, .page-shell > *, .dash-center > *, .home-page > *, .acum-page > *{min-width:0;max-width:100%;}
.alert{max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.table-responsive{max-width:100%;}

/* Compactacion final home, login y acumulados */
.home-page{
  max-width:1600px;
  margin:0 auto;
}

.home-topbar-v3{
  align-items:center;
  gap:.85rem;
  margin-bottom:.8rem !important;
}

.home-kicker-row-v3{
  gap:.4rem;
  margin-bottom:.4rem !important;
}

.home-kicker-v3{
  padding:.3rem .62rem;
  font-size:.7rem;
}

.home-main-title-v3{
  font-size:clamp(1.45rem, 1.15rem + .95vw, 1.95rem);
  margin-bottom:0 !important;
}

.home-topbar-actions-v3{
  gap:.55rem;
}

.home-global-pill-v3,
.home-topbar-btn-v3{
  min-height:36px;
  padding:.45rem .8rem;
  font-size:.76rem;
}

.home-entry-band-v4{
  gap:.65rem;
  margin-bottom:1rem !important;
}

.home-entry-strip-v4{
  gap:.8rem;
}

.home-entry-btn-v3{
  padding:.8rem .9rem;
  border-radius:18px;
}

.home-entry-btn-v3 i{
  width:38px;
  height:38px;
  border-radius:12px;
  font-size:1rem;
}

.home-entry-btn-v3 strong{
  font-size:.92rem;
}

.home-entry-btn-v3 small{
  font-size:.76rem;
}

.home-entry-meta-row-v4{
  padding:.65rem .85rem;
  gap:.75rem;
}

.home-entry-meta-v3 span{
  font-size:.8rem;
}

.home-page-v4 .home-section-v4{
  gap:.75rem;
  margin-bottom:1rem !important;
}

.home-section-compact-v4{
  gap:.55rem;
}

.summary-card-v3{
  padding:1rem;
  border-radius:22px;
}

.summary-card-head-v3{
  gap:.75rem;
  margin-bottom:.75rem;
}

.summary-title-v3{
  font-size:1.16rem;
}

.summary-copy-v3{
  font-size:.86rem;
  line-height:1.28;
}

.summary-period-v3,
.summary-open-btn-v3{
  min-height:34px;
  font-size:.74rem;
}

.summary-main-band-v3{
  gap:.8rem;
  padding:.82rem .9rem;
}

.summary-main-value-v3{
  font-size:clamp(1.8rem, 1.45rem + 1vw, 2.25rem);
}

.summary-main-meta-v3{
  gap:.45rem;
  font-size:.82rem;
}

.summary-kpi-grid-v3{
  gap:.7rem;
}

.summary-kpi-card-v3{
  min-height:76px;
  padding:.72rem .78rem;
}

.summary-kpi-card-v3 span{
  font-size:.72rem;
}

.summary-kpi-card-v3 strong{
  font-size:1.28rem;
}

.summary-bottom-grid-v3{
  gap:.8rem;
}

.summary-detail-card-v3{
  padding:.9rem;
}

.summary-detail-title-v3{
  font-size:.92rem;
}

.summary-detail-total-v3{
  font-size:.8rem;
}

.summary-ring-v3{
  width:122px;
  height:122px;
}

.summary-ring-center-v3 strong{
  font-size:1.2rem;
}

.summary-legend-item-v3{
  gap:.3rem;
}

.summary-legend-item-v3 span,
.summary-legend-item-v3 strong,
.summary-trend-foot-v3{
  font-size:.8rem;
}

.summary-spark-wrap-v3{
  min-height:74px;
}

.home-roadmap-strip-v3{
  display:none !important;
}

.auth-page{
  min-height:calc(100vh - 120px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:clamp(12px, 3vh, 28px);
}

.auth-page .row{
  width:100%;
  margin:0;
  justify-content:center;
}

.auth-page .row > [class*="col-"]{
  max-width:520px;
}

.auth-card{
  width:min(100%, 520px);
}

.auth-card .card-body{
  padding:1.45rem !important;
}

.auth-title{
  font-size:clamp(1.35rem, 1.15rem + .7vw, 1.68rem);
  margin-bottom:.32rem;
}

.auth-subtitle{
  font-size:.92rem;
  line-height:1.38;
  margin-bottom:.95rem;
}

.auth-control,
.auth-submit{
  min-height:46px !important;
}

.auth-control{
  height:46px !important;
  font-size:.95rem;
}

.auth-submit{
  padding:.65rem .9rem;
  font-size:.95rem;
}

.auth-links{
  margin-top:.85rem !important;
  gap:.45rem .85rem;
  font-size:.9rem;
}

.acum-page--ordered{
  padding-top:.15rem;
}

.acum-titlebar{
  gap:.75rem;
  padding:.35rem .1rem .1rem;
  margin-bottom:.8rem !important;
}

.acum-titlebar-icon{
  width:42px;
  height:42px;
  border-radius:11px;
  font-size:1.2rem;
}

.acum-titlebar h1{
  font-size:clamp(1.45rem, 1.15rem + 1vw, 1.92rem);
}

.acum-titlebar-period,
.acum-titlebar-back{
  min-height:38px;
  padding:.48rem .72rem;
  font-size:.76rem;
}

.acum-filter-card--ordered{
  gap:.85rem;
  padding:.88rem .95rem !important;
}

.acum-filter-grid--ordered{
  gap:.58rem .65rem !important;
}

.acum-filter-grid--ordered .acum-field{
  gap:.3rem;
  font-size:.67rem;
}

.acum-filter-grid--ordered .form-control,
.acum-filter-grid--ordered .form-select,
.acum-filter-grid--ordered .btn-acum-multi,
.acum-switch-ordered,
.acum-filter-actions--ordered .btn{
  height:40px !important;
  min-height:40px !important;
}

.acum-filter-actions--ordered .btn{
  font-size:.74rem;
}

.acum-kpi-strip{
  border-radius:15px;
}

.acum-metric{
  gap:.7rem;
  padding:.85rem .9rem;
}

.acum-metric-icon{
  width:44px;
  height:44px;
  flex-basis:44px;
  font-size:1.16rem;
}

.acum-metric-body > span{
  font-size:.7rem;
}

.acum-metric-body strong{
  font-size:1.62rem;
}

.acum-metric--pct strong{
  font-size:1.82rem;
}

.acum-metric-body small{
  font-size:.68rem;
}

.acum-panel--ordered{
  padding:.92rem .96rem !important;
}

.acum-panel-head--ordered{
  margin-bottom:.55rem !important;
}

.acum-chart-heading strong{
  font-size:.95rem !important;
}

.acum-chart-heading small{
  font-size:.75rem !important;
}

.acum-head-actions{
  gap:.45rem;
}

.acum-head-actions .btn,
.acum-inline-control{
  min-height:36px;
  font-size:.73rem;
}

.acum-inline-control .form-select{
  height:36px;
  min-width:98px;
}

.acum-chart-wrap--wide{
  height:360px !important;
}

.acum-chart-wrap--trend-full{
  height:270px !important;
}

@media (max-width: 991.98px){
  .home-entry-strip-v4{
    gap:.7rem;
  }

  .summary-card-v3{
    padding:.92rem;
  }

  .acum-chart-wrap--wide{
    height:330px !important;
  }

  .acum-chart-wrap--trend-full{
    height:250px !important;
  }
}

@media (max-width: 767.98px){
  .home-topbar-v3{
    align-items:flex-start;
  }

  .home-global-pill-v3,
  .home-topbar-btn-v3{
    width:100%;
    justify-content:center;
  }

  .summary-main-band-v3{
    padding:.74rem .78rem;
  }

  .summary-ring-v3{
    width:108px;
    height:108px;
  }

  .auth-card .card-body{
    padding:1.15rem !important;
  }
}

/* Compactacion adicional para administracion de usuarios */
.admin-hero-body{
  padding:clamp(.9rem, 1.1vw, 1.15rem) clamp(1rem, 1.35vw, 1.35rem) !important;
}

.admin-hero-copy{
  max-width:min(100%, 760px);
}

.admin-hero-actions{
  align-items:center;
}

.admin-title{
  font-size:clamp(1.24rem, .65vw + 1rem, 1.52rem);
  line-height:1.05;
}

.admin-subtitle{
  max-width:720px;
  font-size:.92rem;
  line-height:1.4;
}

.admin-btn{
  min-height:44px;
  min-width:132px;
  padding-inline:.95rem;
  border-radius:14px;
}

.admin-kpi-grid{
  grid-template-columns:repeat(auto-fit, minmax(165px, 1fr));
  gap:.85rem;
}

.admin-kpi .card-body{
  padding:.82rem .95rem;
}

.admin-kpi-label{
  font-size:.73rem;
}

.admin-kpi-value{
  font-size:clamp(1.55rem, .8vw + 1.05rem, 1.9rem);
  margin:.18rem 0;
}

.admin-kpi-foot{
  font-size:.8rem;
  line-height:1.24;
}

.admin-filter-body{
  padding:.95rem 1rem !important;
}

.admin-filter-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:.75rem .85rem;
  align-items:end;
}

.admin-filter-item{
  min-width:0;
}

.admin-filter-search{
  grid-column:span 5;
}

.admin-filter-status,
.admin-filter-role,
.admin-filter-scope,
.admin-filter-request{
  grid-column:span 2;
}

.admin-filter-actions{
  grid-column:span 1;
}

.admin-filter-btn{
  min-height:var(--control-height-sm);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  border-radius:12px;
  font-weight:800;
}

.admin-filter-body .input-group-text{
  min-height:var(--control-height-sm);
  border:1px solid var(--border-soft);
  border-right:0;
  border-radius:12px 0 0 12px;
  background:#fff;
}

.admin-filter-body .form-control,
.admin-filter-body .form-select{
  min-height:var(--control-height-sm);
}

.admin-filter-meta{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.65rem 1rem;
  align-items:center;
}

.admin-filter-meta .alert{
  padding:.55rem .8rem;
}

.admin-bulk-body{
  padding:.9rem 1rem !important;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem 1rem;
}

.admin-bulk-copy{
  min-width:0;
}

.admin-bulk-copy .small{
  line-height:1.35;
}

.admin-bulk-toolbar .btn{
  min-height:38px;
  border-radius:12px;
  font-weight:700;
}

.admin-users-table-wrap{
  max-height:clamp(420px, 54vh, 760px);
}

.admin-users-table{
  --admin-col-status: 168px;
  --admin-col-actions: 220px;
  min-width:1480px;
  table-layout:fixed;
}

.admin-users-table thead th{
  padding:.78rem .65rem;
  font-size:.78rem;
  white-space:nowrap;
}

.admin-users-table tbody td{
  padding:.78rem .65rem;
  line-height:1.32;
  white-space:normal !important;
  word-break:break-word;
  overflow-wrap:anywhere;
}

.admin-users-table th:nth-child(2),
.admin-users-table td:nth-child(2){
  min-width:240px;
}

.admin-users-table th:nth-child(3),
.admin-users-table td:nth-child(3){
  min-width:210px;
}

.admin-users-table th:nth-child(4),
.admin-users-table td:nth-child(4){
  min-width:170px;
}

.admin-users-table th:nth-child(5),
.admin-users-table td:nth-child(5){
  min-width:150px;
}

.admin-users-table th:nth-child(6),
.admin-users-table td:nth-child(6){
  min-width:170px;
}

.admin-users-table th:nth-child(7),
.admin-users-table td:nth-child(7){
  min-width:170px;
}

.admin-users-table th:nth-last-child(2),
.admin-users-table td:nth-last-child(2){
  position:sticky;
  right:var(--admin-col-actions);
  min-width:var(--admin-col-status);
  width:var(--admin-col-status);
  box-shadow:-10px 0 18px rgba(15, 23, 42, .06);
}

.admin-users-table th:last-child,
.admin-users-table td:last-child{
  position:sticky;
  right:0;
  min-width:var(--admin-col-actions);
  width:var(--admin-col-actions);
  box-shadow:-12px 0 20px rgba(15, 23, 42, .08);
}

.admin-users-table thead th:nth-last-child(2),
.admin-users-table thead th:last-child{
  z-index:4;
}

.admin-users-table tbody td:nth-last-child(2),
.admin-users-table tbody td:last-child{
  z-index:2;
  background:#fff;
}

.admin-users-table tbody tr:hover td:nth-last-child(2),
.admin-users-table tbody tr:hover td:last-child{
  background:rgba(17, 183, 181, .06);
}

.admin-users-table .badge{
  font-size:.72rem;
}

.admin-users-table .btn,
.admin-mobile-list .btn{
  border-radius:12px;
}

.admin-action-group{
  gap:.4rem !important;
  justify-content:flex-start !important;
}

.admin-action-btn{
  min-height:32px;
  padding:.34rem .58rem;
  font-size:.82rem;
}

.admin-check-col{
  width:44px;
  min-width:44px;
}

.admin-mobile-list{
  gap:.8rem;
}

.admin-user-card .card-body{
  padding:.92rem;
}

.admin-user-canvas{
  width:min(620px, 100vw) !important;
}

.admin-user-canvas .offcanvas-header{
  padding:.95rem 1rem;
}

.admin-user-canvas .offcanvas-body{
  padding:.95rem 1rem 1rem;
}

.admin-user-canvas .offcanvas-footer{
  padding:.85rem 1rem !important;
}

.admin-check{
  padding:.68rem .85rem .68rem 2rem;
  border-radius:12px;
}

@media (max-width: 1199.98px){
  .admin-filter-grid{
    grid-template-columns:repeat(6, minmax(0, 1fr));
  }

  .admin-filter-search,
  .admin-filter-status,
  .admin-filter-role,
  .admin-filter-scope,
  .admin-filter-request{
    grid-column:span 2;
  }

  .admin-filter-actions{
    grid-column:span 6;
  }
}

@media (max-width: 991.98px){
  .admin-title{
    font-size:1.28rem;
  }

  .admin-btn{
    min-width:0;
    flex:1 1 calc(50% - .45rem);
  }

  .admin-filter-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .admin-filter-search,
  .admin-filter-status,
  .admin-filter-role,
  .admin-filter-scope,
  .admin-filter-request,
  .admin-filter-actions{
    grid-column:span 2;
  }

  .admin-filter-meta{
    flex-direction:column;
    align-items:flex-start;
  }

  .admin-bulk-body{
    align-items:flex-start;
  }
}

@media (max-width: 767.98px){
  .admin-kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.7rem;
  }

  .admin-user-canvas{
    width:100vw !important;
  }
}
