.admin-body{
  
  --admin-table-col-min: var(--space-24);
  
  --admin-table-col-primary-min: var(--space-stack-lg);
  
  
  --admin-table-col-min: 96px;
  --admin-table-col-primary-min: 220px;
  --admin-table-col-action-min: 96px;

  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  touch-action: manipulation;
  background: var(--background);
}


@media (max-width: 1024px){

  .admin-body .input,
  .admin-body .select,
  .admin-body textarea,
  .admin-body input[type="search"],
  .admin-body input[type="text"],
  .admin-body input[type="email"],
  .admin-body input[type="number"],
  .admin-body input[type="password"],
  .admin-body input[type="url"],
  .admin-body input[type="tel"]{
    font-size: 16px;
    
  }

  .admin-body .table-wrapper{
    position: relative;
    max-width: 100vw;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    
    background: linear-gradient(to right, var(--background) 30%, rgba(255, 255, 255, 0)),
      linear-gradient(to right, rgba(255, 255, 255, 0), var(--background) 70%) 0 100%,
      radial-gradient(farthest-side at 0 50%, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)),
      radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)) 0 100%;
    background-repeat: no-repeat;
    background-color: var(--background);
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    background-attachment: local, local, scroll, scroll;
  }
}

body.admin-sidebar-open{
  overflow: hidden;
  overscroll-behavior: none;
}



.admin-header .header-inner{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
}

.admin-header .header-left{
  justify-self: start;
  min-width: 0;
}

.admin-header .header-right{
  justify-self: end;
  min-width: 0;
  justify-content: flex-end;
}

.admin-header .logo-img{
  height: var(--space-4);
}









.admin-header-search-results{
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  z-index: var(--z-dropdown);
  overflow: hidden;
}

.admin-nav-search-item{
  display: flex;
  gap: var(--space-2);
  padding: 10px 12px;
  text-decoration: none;
  color: var(--foreground);
}

.admin-nav-search-item .hz-icon{
  font-size: 18px;
  color: var(--muted-foreground);
}

.admin-nav-search-text{
  display: grid;
  min-width: 0;
}

.admin-nav-search-text .label{
  font-size: 13px;
  font-weight: 600;
}

.admin-nav-search-item.active,
.admin-nav-search-item:hover{
  background: var(--muted);
}

.admin-nav-search-empty{
  padding: 10px 12px;
}

.admin-header .header-menu-toggle{
  display: inline-flex;
}

.admin-header .logo-img.logo-dark{
  display: none;
}

.admin-header .logo-img.logo-light{
  display: block;
}

@media (min-width: 1025px){
  .admin-header .header-menu-toggle{
    display: none;
  }
}

@media (max-width: 1024px){
  .admin-header .header-inner{
    display: flex;
    justify-content: space-between;
  }

  .admin-header .header-left{
    flex: 1 1 auto;
  }

  

  .text-display{
    font-size: 1.75rem;
    letter-spacing: -0.02em;
  }

  .admin-header .header-right{
    margin-left: auto;
    flex: 0 0 auto;
  }
}

:root[data-theme="light"] .admin-header .logo-img.logo-dark{
  display: none;
}

:root[data-theme="light"] .admin-header .logo-img.logo-light{
  display: block;
}

:root[data-theme="dark"] .admin-header .logo-img.logo-light{
  display: none;
}

:root[data-theme="dark"] .admin-header .logo-img.logo-dark{
  display: block;
}

body[data-theme="light"] .admin-header .logo-img.logo-dark{
  display: none;
}

body[data-theme="light"] .admin-header .logo-img.logo-light{
  display: block;
}

body[data-theme="dark"] .admin-header .logo-img.logo-light{
  display: none;
}

body[data-theme="dark"] .admin-header .logo-img.logo-dark{
  display: block;
}







.admin-mobile-links a.active,
.admin-mobile-links a:hover{
  color: var(--foreground);
  background: var(--muted);
}



.admin-page .main-layout{
  padding-top: var(--header-height);
}

.admin-page .content-wrapper{
  padding: var(--space-5) var(--space-3);
}

.admin-page .content{
  max-width: 1200px;
}

@media (min-width: 1025px){
  .admin-page .content-wrapper{
    padding: var(--space-5) var(--space-6);
  }
}

.admin-page{
  --sidebar-width: 260px;
  --sidebar-collapsed-width: 64px;
  --admin-sidebar-overlay: rgba(0, 0, 0, 0.45);
}

body.admin-sidebar-collapsed .admin-page{
  --sidebar-width: var(--sidebar-collapsed-width);
}

.admin-sidebar{
  position: fixed;
  top: var(--header-height);
  left: 0;
  bottom: 0;
  width: var(--sidebar-width);
  background: color-mix(in srgb, var(--card), transparent 2%);
  backdrop-filter: blur(8px);
  border-right: 1px solid var(--border);
  z-index: calc(var(--z-header) - 1);
  display: flex;
  flex-direction: column;
  transform: translateX(0);
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.admin-sidebar-header{
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--space-4);
  border-bottom: 1px solid var(--border);
}

.admin-sidebar-header-title{
  display: flex;
  align-items: center;
  color: var(--muted-foreground);
  font-size: var(--fs-sm);
  font-weight: 600;
  min-width: 0;
}

.admin-sidebar-header-text{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-sidebar-content{
  padding: var(--space-4) var(--space-2);
  overflow-y: auto;
  flex: 1;
}

.admin-sidebar-group{
  margin-bottom: var(--space-6);
}

.admin-sidebar-group-title{
  font-size: 10px;
  font-weight: 800;
  color: var(--muted-foreground);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  padding: 0 var(--space-2);
  margin-bottom: var(--space-2);
}

.admin-sidebar-group-links{
  display: flex;
  flex-direction: column;
}

.admin-sidebar-link{
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  color: var(--muted-foreground);
  text-decoration: none;
  font-size: var(--fs-sm);
  font-weight: 500;
  min-width: 0;
  transition: all 0.2s ease;
}

.admin-sidebar-link .hz-icon{
  font-size: 20px;
}

.admin-sidebar-label{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-sidebar-link:hover{
  background: var(--muted);
  color: var(--foreground);
}

.admin-sidebar-link.active{
  background: var(--primary);
  color: var(--primary-foreground);
  box-shadow: var(--shadow-sm);
}

.admin-sidebar-link.active .hz-icon{
  color: inherit;
}

.admin-sidebar-overlay{
  position: fixed;
  top: var(--header-height);
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--admin-sidebar-overlay);
  z-index: calc(var(--z-header) - 2);
}

@media (min-width: 1025px){
  body.admin-sidebar-collapsed .admin-sidebar{
    width: var(--sidebar-collapsed-width);
  }

  body.admin-sidebar-collapsed .admin-sidebar-header-title,
  body.admin-sidebar-collapsed .admin-sidebar-group-title{
    display: none;
  }

  body.admin-sidebar-collapsed .admin-sidebar-label{
    opacity: 0;
    pointer-events: none;
  }

  body.admin-sidebar-collapsed .admin-sidebar-header{
    justify-content: center;
    padding: var(--space-1);
  }
}

@media (max-width: 1024px){
  .admin-sidebar{
    transform: translateX(-100%);
    box-shadow: var(--shadow-lg);
  }

  body.admin-sidebar-open .admin-sidebar{
    transform: translateX(0);
  }
}

.admin-page .form-stack{
  gap: var(--space-3);
}

.admin-page .form-grid{
  gap: var(--space-3);
}











.sitemap-row .hz-icon{
  font-size: 20px;
  color: var(--muted-foreground);
  transition: color 0.2s ease;
}

.sitemap-row:hover .hz-icon{
  color: var(--primary);
}

















.sitemap-node[aria-expanded="true"]>.sitemap-row .hz-icon{
  color: var(--primary);
}




.admin-hero{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-4);
  margin: var(--space-2) 0 var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: var(--space-px) solid var(--border);
}

@media (max-width: 640px){
  .admin-hero{
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }
}

.admin-hero-title{
  display: grid;
  gap: var(--space-2);
}

@media (max-width: 640px){
  .admin-hero-title h1{
    font-size: 1.5rem;
  }

  .admin-hero-title p{
    font-size: 0.875rem;
    line-height: 1.4;
  }
}

.admin-hero-actions{
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-shrink: 0;
}

@media (max-width: 640px){
  .admin-hero-actions{
    justify-content: flex-start;
    width: 100%;
  }
}



.admin-grid{
  display: grid;
  gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  align-items: start;
}

@media (max-width: 640px){
  .admin-grid{
    grid-template-columns: 1fr;
  }
}

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

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

.admin-grid.admin-grid-actions{
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: flex-end;
}

.admin-grid.admin-grid-actions-3{
  grid-template-columns: minmax(0, 1fr) 120px auto;
  align-items: flex-end;
}

.admin-grid+.card,
.admin-grid+.admin-split,
.admin-grid+.admin-stack{
  margin-top: var(--space-4);
}

.admin-page .content>section+section,
.admin-page .content>.card+.card{
  margin-top: var(--space-4);
}






.admin-page .card{
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.admin-page .card:hover{
  border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}

.admin-page .stat-card{
  position: relative;
  overflow: hidden;
}

.admin-page .stat-card:hover{
  background: color-mix(in srgb, var(--accent) 3%, transparent);
}

.admin-page .stat-value{
  letter-spacing: -0.03em;
  font-feature-settings: "tnum";
  font-weight: 700;
  font-size: var(--fs-h3);
}

.admin-page .stat-label{
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--muted-foreground);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-1);
}



.admin-section-title .hz-icon,
.admin-section-title span.material-symbols-outlined{
  font-size: 20px;
  color: var(--accent);
}












.admin-panel[data-stat-panel="game"] .admin-subpanel.active{
  display: block;
}





.admin-panel[data-stat-panel="game"] .admin-stats-grid .card-content canvas,
.admin-panel[data-stat-panel="game"] .stats-masonry .card-content canvas{
  display: block;
  width: 100%;
  height: 200px;
  max-height: 220px;
}







.admin-stack{
  display: grid;
  gap: var(--space-3);
}





.upload-cell{
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.upload-cell .logo-thumb{
  display: none;
  width: var(--space-8);
  height: var(--space-8);
  object-fit: contain;
  border-radius: var(--space-1-5);
  border: var(--space-px) solid var(--border-subtle);
  padding: var(--space-0-5);
  background: var(--bg-elevated);
}



.admin-group-list .admin-instance-card{
  padding: var(--space-1-5);
  gap: var(--space-0-5);
}



.admin-group-list .admin-instance-card-header{
  align-items: center;
}



.admin-flex-stack{
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}







.search-list .hz-menu-item{
  width: 100%;
  justify-content: space-between;
}







.divider{
  height: 1px;
  background: var(--border);
  margin: var(--space-4) 0;
}







.bulk-actions.is-open{
  display: flex;
}











.credits-balance .card{
  height: 100%;
}










.admin-console-list .table-wrapper{
  max-height: 640px;
}

.admin-instance-list{
  display: grid;
  gap: var(--space-2);
  max-height: 640px;
  overflow-y: auto;
}

.admin-instance-card{
  padding: var(--space-2);
  border: var(--space-px) solid var(--border);
  border-radius: var(--radius);
  background: var(--background-subtle);
  display: grid;
  gap: var(--space-1);
  cursor: pointer;
}

.admin-instance-card.admin-row-active{
  border-color: var(--primary);
  box-shadow: 0 0 0 var(--space-px) var(--primary);
}

.admin-instance-card-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-2);
}

.admin-instance-card-title{
  display: grid;
  gap: var(--space-0-5);
}



.admin-instance-card .admin-action-buttons{
  gap: var(--space-0-5);
}

.admin-instance-card-actions{
  display: flex;
  align-items: center;
  gap: var(--space-1);
}

.admin-instance-meta-note{
  font-size: var(--space-2-5);
  color: var(--muted-foreground);
}

























































.admin-role-list-item.active{
  border-color: var(--accent);
  background: rgba(59, 130, 246, 0.12);
}











.admin-role-permissions-actions .input{
  max-width: 220px;
}

@media (max-width: 720px){
  

  

  .admin-role-permissions-actions .input{
    flex: 1 1 180px;
    max-width: none;
  }
}



.admin-compact-table .table th,
.admin-compact-table .table td{
  padding: var(--space-1-5) var(--space-2-5);
  font-size: var(--space-3);
}

.admin-compact-table .table th{
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
}

.admin-body .table-wrapper{
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.admin-body .table-wrapper>table.table{
  width: max-content;
  min-width: 100%;
}

.admin-body .table-wrapper .admin-identity{
  align-items: center;
}

.admin-body .table-wrapper .admin-identity-name{
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

@media (max-width: 1024px){
  .admin-body .table-wrapper{
    scrollbar-width: none;
  }

  .admin-body .table-wrapper::-webkit-scrollbar{
    display: none;
  }

  .admin-body .table-wrapper>table.table{
    width: max-content;
    min-width: 100%;
  }

  .admin-body .table-wrapper>table.table th,
  .admin-body .table-wrapper>table.table td{
    min-width: var(--admin-table-col-min);
  }

  .admin-body .table-wrapper>table.table th:first-child,
  .admin-body .table-wrapper>table.table td:first-child{
    min-width: var(--admin-table-col-primary-min);
  }

  .admin-body .table-wrapper>table.table th:last-child,
  .admin-body .table-wrapper>table.table td:last-child{
    min-width: var(--admin-table-col-action-min);
    white-space: nowrap;
  }

  .admin-body .table-wrapper>table.table th,
  .admin-body .table-wrapper>table.table .badge,
  .admin-body .table-wrapper>table.table .admin-action-buttons,
  .admin-body .table-wrapper>table.table .time-recent,
  .admin-body .table-wrapper>table.table .time-today,
  .admin-body .table-wrapper>table.table .time-week,
  .admin-body .table-wrapper>table.table .time-month,
  .admin-body .table-wrapper>table.table .time-old{
    white-space: nowrap;
  }

  
  @media (max-width: 640px){

    .admin-body .table-wrapper table.table th:nth-child(1),
    .admin-body .table-wrapper table.table td:nth-child(1){
      
      width: 40px;
    }

    
    #statsDisplayRange{
      display: block;
      word-break: break-all;
      font-size: 0.8rem;
    }
  }
}

.switch-row.compact{
  padding: 0;
  align-items: center;
}

.switch-row.compact .switch{
  margin: 0;
}









.admin-email-panel.active{
  display: block;
}











.admin-email-variables .badge{
  text-transform: none;
}







.admin-email-preview.is-empty .admin-email-preview-frame{
  display: none;
}

.admin-email-preview.is-empty .admin-email-preview-empty{
  display: flex;
}











































.admin-panel.active{
  display: block;
}



.segment-btn.active{
  color: var(--foreground);
  background: var(--background);
  box-shadow: var(--shadow-xs);
}

















.admin-section-title .hz-icon{
  font-size: 1.125rem;
}

.stat-card{
  display: grid;
  gap: var(--space-1);
}

.stat-label{
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--muted-foreground);
}

.stat-value{
  font-size: 1.375rem;
  font-weight: 600;
}

.stat-meta{
  font-size: 0.6875rem;
  color: var(--muted-foreground);
}





.admin-toolbar-inline .input-group{
  min-width: 0;
}









.admin-body .search-select{
  position: relative;
  width: 100%;
}

.admin-body .search-select-field{
  position: relative;
  display: flex;
  align-items: center;
}

.admin-body .search-select-field .input{
  width: 100%;
  padding-right: var(--space-8);
}

.admin-body .search-select-icon{
  position: absolute;
  right: var(--space-3);
  top: 50%;
  transform: translateY(-50%);
  color: var(--muted-foreground);
  pointer-events: none;
}

.admin-body .search-select-menu{
  position: absolute;
  top: calc(100% + var(--space-1));
  left: 0;
  right: 0;
  z-index: var(--z-popover);
  max-height: 240px;
  overflow: auto;
  box-shadow: var(--shadow-lg);
}

.admin-body .search-select-menu .hz-menu-item{
  justify-content: flex-start;
}

.admin-toolbar .input-group{
  flex: 1 1 320px;
  min-width: 240px;
}





@media (max-width: 640px){
  .admin-toolbar .input-group{
    flex: 1 1 100%;
    min-width: 0;
  }
}



@media (max-width: 480px){
  

  .admin-pagination .btn{
    width: 100%;
  }
}



.admin-filter-grid .input-group{
  min-width: 0;
}

































.heatmap-cell{
  height: var(--space-2-5);
  border-radius: var(--radius-xs);
  background: var(--muted);
}





































.admin-user-chip .hz-icon{
  font-size: var(--space-4);
}



.admin-user-chip.is-loading{
  opacity: 0;
  pointer-events: none;
}



.admin-header .header-right{
  justify-content: flex-end;
}







.admin-menu-panel.is-open{
  display: flex;
}











.event-chip.is-active{
  border-color: color-mix(in srgb, var(--primary) 60%, transparent);
  background: color-mix(in srgb, var(--primary) 12%, transparent);
  color: var(--foreground);
}



.event-bar{
  position: relative;
  flex: 1;
  height: var(--space-4);
  border-radius: var(--radius-full);
  background: var(--muted);
  overflow: hidden;
}

.event-bar-zero{
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: var(--space-0-5);
  background: var(--border);
  transform: translateX(-50%);
}

.event-bar-fill{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 50%;
  background: var(--success);
  transition: width 0.2s ease, left 0.2s ease, background 0.2s ease;
  z-index: 0;
}

.event-bar-label{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.6875rem;
  color: var(--foreground);
  pointer-events: none;
  z-index: 2;
}



.metric-bar.event-bar{
  height: 1.125rem;
  border: var(--space-px) solid color-mix(in srgb, var(--border) 60%, transparent);
}

.metric-steps{
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  z-index: 1;
}

.metric-step{
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  position: relative;
}

.metric-step::after{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--space-1-5);
  height: var(--space-1-5);
  border-radius: var(--radius-full);
  transform: translate(-50%, -50%);
  background: color-mix(in srgb, var(--border) 70%, transparent);
}

.metric-step.is-active::after{
  width: var(--space-2-5);
  height: var(--space-2-5);
  background: var(--primary);
  box-shadow: 0 0 0 var(--space-0-5) color-mix(in srgb, var(--primary) 25%, transparent);
}









@keyframes admin-chip-shimmer{
  0%{
    background-position: 0% 50%;
  }

  100%{
    background-position: 200% 50%;
  }
}





.modal{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--space-5);
  background: rgba(9, 9, 11, 0.6);
  z-index: var(--z-overlay);
}

.modal.active{
  display: flex;
}

.modal-content{
  width: min(760px, 96vw);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: var(--space-px) solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}

.modal-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-bottom: var(--space-px) solid var(--border);
}





.modal-body{
  padding: var(--space-4);
  overflow-y: auto;
}

.modal-footer{
  padding: var(--space-3) var(--space-4);
  border-top: var(--space-px) solid var(--border);
  background: var(--muted);
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
}





.edit-tab-button.active{
  background: var(--card);
  color: var(--foreground);
  border-color: var(--border);
  box-shadow: var(--shadow-xs);
}



.edit-tab-panel.active{
  display: block;
}





























































.empty-state{
  display: grid;
  gap: var(--space-1);
  justify-items: center;
  padding: var(--space-5) 0;
  color: var(--muted-foreground);
}

@media (max-width: 720px){
  .admin-hero{
    flex-direction: column;
    align-items: stretch;
  }

  .admin-hero-actions{
    justify-content: flex-start;
  }

  

  .modal-content{
    width: min(96vw, 520px);
  }

  .modal{
    padding: var(--space-3);
  }

  .modal-header{
    padding: var(--space-3);
  }

  .modal-body{
    padding: var(--space-3);
  }

  .modal-footer{
    padding: var(--space-3);
  }

  

  
}




