:root{
  --pp-bg:#171826;
  --pp-bg-2:#1b1d2e;
  --pp-surface:#232437;
  --pp-surface-2:#282a41;
  --pp-surface-3:#30324d;
  --pp-border:rgba(255,255,255,.08);
  --pp-border-2:rgba(255,255,255,.12);
  --pp-text:#f5f7ff;
  --pp-muted:#aeb3cf;
  --pp-muted-2:#7f86ab;
  --pp-primary:#6d33ff;
  --pp-primary-2:#8e2dff;
  --pp-green:#18c964;
  --pp-red:#ea4d5b;
  --pp-orange:#f5a524;
  --pp-shadow:0 18px 50px rgba(0,0,0,.30);
  --pp-radius:22px;
}
html,body{
  background:linear-gradient(180deg,var(--pp-bg) 0%,#151624 100%) fixed!important;
  color:var(--pp-text)!important;
}
body{
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
#page-topbar,.navbar-header,.vertical-menu,.navbar-brand-box,.footer,.dropdown-menu,.modal-content,.swal2-popup,.card,.alert{
  border-color:var(--pp-border)!important;
}
#page-topbar,.navbar-header{
  background:rgba(23,24,38,.96)!important;
  backdrop-filter:blur(12px);
}
.navbar-brand-box,.vertical-menu{
  background:linear-gradient(180deg,#202133 0%, #1c1d2d 100%)!important;
}
.navbar-brand-box .logo-txt{
  color:#7c4dff!important;
  font-weight:900;
  font-style:italic;
  letter-spacing:.02em;
  text-transform:none;
}
.vertical-menu{
  width:290px!important;
}
.main-content{
  margin-left:290px!important;
}
#sidebar-menu ul li a{
  color:var(--pp-muted)!important;
  font-weight:600;
  border-radius:16px;
  margin:4px 12px;
  padding:13px 16px;
}
#sidebar-menu ul li a i,
#sidebar-menu ul li a svg{
  color:var(--pp-muted)!important;
}
#sidebar-menu ul li a:hover,
#sidebar-menu ul li a.active,
#sidebar-menu ul li.mm-active>a{
  background:rgba(109,51,255,.14)!important;
  color:var(--pp-text)!important;
  border:1px solid rgba(109,51,255,.28)!important;
}
#sidebar-menu ul li a:hover i,
#sidebar-menu ul li a.active i,
#sidebar-menu ul li.mm-active>a i,
#sidebar-menu ul li a:hover svg,
#sidebar-menu ul li a.active svg,
#sidebar-menu ul li.mm-active>a svg{
  color:#8f6bff!important;
}
#sidebar-menu .menu-title{
  color:var(--pp-muted-2)!important;
  padding-left:20px!important;
}
.sidebar-alert{
  background:linear-gradient(180deg,#242742 0%,#1e2034 100%)!important;
}
.card,
.alert,
.modal-content,
.dropdown-menu,
.swal2-popup{
  background:linear-gradient(180deg,var(--pp-surface) 0%, #202233 100%)!important;
  border:1px solid var(--pp-border)!important;
  border-radius:var(--pp-radius)!important;
  box-shadow:var(--pp-shadow)!important;
}
.page-content{padding:calc(var(--unit-header-height) + 18px) 0 88px!important}
.page-title-box{
  padding:8px 0 18px;
  margin-bottom:10px!important;
}
.page-title-box h4{
  font-size:2rem!important;
  font-weight:800!important;
  letter-spacing:-.02em;
}
.page-title-box p,
.page-title-box .page-title-right,
.page-title-box .breadcrumb-item,
.page-title-box .breadcrumb-item a{
  color:var(--pp-muted)!important;
}
.pp-subtitle{
  color:var(--pp-muted)!important;
  margin-top:6px;
  font-size:.98rem;
}
.btn{
  border-radius:16px!important;
  font-weight:700!important;
  min-height:46px;
}
.btn-sm{min-height:38px}
.btn-primary,
.bg-primary{
  background:linear-gradient(135deg,var(--pp-primary) 0%, var(--pp-primary-2) 100%)!important;
  border:none!important;
  color:#fff!important;
}
.btn-success{background:#16a34a!important;border:none!important}
.btn-light,.btn-soft-light,.btn-outline-light,.btn-secondary,.btn-outline-secondary{
  background:rgba(255,255,255,.02)!important;
  border:1px solid var(--pp-border-2)!important;
  color:var(--pp-text)!important;
}
.btn-danger{background:#9f2331!important;border:none!important}
.btn-warning{background:#88601c!important;border:none!important;color:#fff!important}
.form-control,.form-select,textarea,.dataTables_filter input,.dataTables_length select{
  background:rgba(255,255,255,.02)!important;
  border:1px solid var(--pp-border-2)!important;
  color:var(--pp-text)!important;
  border-radius:16px!important;
  min-height:48px;
}
.form-control::placeholder,textarea::placeholder{color:var(--pp-muted-2)!important}
.table>:not(caption)>*>*{background:transparent!important;color:var(--pp-text)!important;border-color:rgba(255,255,255,.06)!important}
.table thead th{color:var(--pp-muted)!important;font-weight:700!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.table tbody tr{background:rgba(255,255,255,.015)!important}
.table tbody tr:hover{background:rgba(255,255,255,.03)!important}
.text-muted,small,.small,.text-secondary{color:var(--pp-muted)!important}
code{color:#d6cbff!important;background:rgba(109,51,255,.12);padding:4px 8px;border-radius:10px}
.badge.bg-success{background:rgba(24,201,100,.18)!important;color:#63f2a1!important}
.badge.bg-danger{background:rgba(234,77,91,.18)!important;color:#ff98a2!important}
.badge.bg-warning{background:rgba(245,165,36,.18)!important;color:#ffd27a!important}
.badge.bg-primary,.badge.bg-info-subtle,.badge.bg-primary-subtle{background:rgba(109,51,255,.18)!important;color:#ccb6ff!important}
.pp-filter-panel,
.pp-stat-card,
.pp-list-card,
.pp-action-card{
  background:linear-gradient(180deg,var(--pp-surface-2) 0%, #222439 100%);
  border:1px solid var(--pp-border);
  border-radius:22px;
  box-shadow:var(--pp-shadow);
}
.pp-filter-panel{padding:24px}
.pp-filter-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.pp-col-12{grid-column:span 12}
.pp-col-8{grid-column:span 8}
.pp-col-6{grid-column:span 6}
.pp-col-4{grid-column:span 4}
.pp-col-3{grid-column:span 3}
.pp-col-2{grid-column:span 2}
.pp-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 22px}
.pp-stat-card{padding:20px;display:flex;align-items:center;gap:16px;min-height:120px}
.pp-stat-icon{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:24px;background:rgba(109,51,255,.16);color:#b79cff;flex:none}
.pp-stat-icon.success{background:rgba(24,201,100,.14);color:#57e391}
.pp-stat-icon.danger{background:rgba(234,77,91,.14);color:#ff8995}
.pp-stat-icon.warning{background:rgba(245,165,36,.14);color:#ffc562}
.pp-stat-value{font-size:2.1rem;font-weight:800;line-height:1}
.pp-stat-label{color:var(--pp-muted);font-size:1rem}
.pp-card-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.pp-card-list .pp-list-card{grid-column:span 6;padding:24px;position:relative;overflow:hidden}
.pp-list-card h5,.pp-list-card h4{margin-bottom:8px;font-weight:800!important}
.pp-list-card .pp-status{position:absolute;right:20px;top:18px}
.pp-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:18px 0 16px}
.pp-meta div span{display:block;color:var(--pp-muted-2);font-size:.88rem;margin-bottom:4px}
.pp-meta div strong{font-size:1rem;color:var(--pp-text)}
.pp-card-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}
.pp-card-actions .btn{flex:1 1 0;min-width:0}
.pp-fab-stack{position:fixed;right:18px;bottom:92px;display:flex;flex-direction:column;gap:12px;z-index:1040}
.pp-fab-stack a,.pp-fab-stack button{width:58px;height:58px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.35);font-size:22px;color:#fff}
.pp-fab-main{background:#19c363}
.pp-fab-alt{background:linear-gradient(135deg,var(--pp-primary),var(--pp-primary-2))}
.pp-fab-dark{background:#4131e8}
.pp-inline-count{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.03);color:var(--pp-muted);border:1px solid var(--pp-border);font-size:.92rem}
.pp-search-row{display:flex;gap:12px;flex-wrap:wrap}
.pp-search-row > *{flex:1 1 180px}
.pp-empty{padding:42px 18px;text-align:center;color:var(--pp-muted)}
.pp-label-icon{display:inline-flex;align-items:center;gap:10px}
.dataTables_wrapper .row{row-gap:12px}
.dataTables_wrapper .dataTables_filter input{margin-left:8px}
@media (max-width:1199.98px){
  .pp-card-list .pp-list-card{grid-column:span 12}
  .pp-col-8,.pp-col-6,.pp-col-4,.pp-col-3,.pp-col-2{grid-column:span 12}
}
@media (max-width:991.98px){
  .vertical-menu{width:280px!important}
  .main-content{margin-left:0!important}
  body.sidebar-enable .vertical-menu{left:0!important}
}
@media (max-width:767.98px){
  .page-title-box h4{font-size:2.2rem!important;line-height:1.08}
  .container-fluid{padding-left:14px!important;padding-right:14px!important}
  .page-content{padding:14px 0 96px!important}
  .pp-toolbar .btn{width:100%}
  .pp-filter-panel{padding:18px}
  .pp-stat-card{min-height:108px;padding:18px}
  .pp-stat-value{font-size:1.9rem}
  .pp-meta{grid-template-columns:1fr}
  .pp-card-actions .btn{flex:1 1 100%}
  .pp-fab-stack{right:14px;bottom:84px}
  .pp-fab-stack a,.pp-fab-stack button{width:56px;height:56px}
}


.navbar-brand-box{
  width:290px!important;
  padding:0 14px!important;
}
.pp-brand-logo,
.navbar-brand-box .logo{
  display:flex!important;
  align-items:center;
  height:70px;
}
.navbar-brand-box .logo-lg{
  display:flex!important;
  align-items:center;
  gap:10px;
}
.navbar-brand-box .logo-sm,
.navbar-brand-box .logo-dark{
  display:none!important;
}
.navbar-brand-box .logo img{
  display:block;
  width:auto;
}
.money-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--pp-border-2);
  background:rgba(255,255,255,.03);
  color:var(--pp-text)!important;
  text-decoration:none!important;
  white-space:nowrap;
  font-weight:700;
}
.unit-topbar-actions{flex-wrap:nowrap}
.unit-user-trigger{
  min-height:44px;
  border-radius:18px!important;
}
.table-responsive,
.dataTables_wrapper{
  width:100%;
}
.dataTables_wrapper .dataTables_scroll{
  overflow:auto;
}
.dataTables_wrapper table.dataTable,
.table{
  width:100%!important;
}
.dataTables_wrapper table.dataTable th,
.dataTables_wrapper table.dataTable td,
.table th,
.table td{
  white-space:nowrap!important;
  word-break:normal!important;
  writing-mode:horizontal-tb!important;
  vertical-align:middle;
}
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:var(--pp-text);
}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{
  min-width:140px;
}
.pp-fab-contact{background:#229ED9}
.pp-fab-zalo{background:#0a7cff}
.pp-fab-stack{z-index:1200}
.pp-fab-stack a,.pp-fab-stack button{pointer-events:auto}
.pp-fab-stack a{ text-decoration:none!important; }
@media (max-width:991.98px){
  .navbar-brand-box{width:190px!important;padding:0 10px!important}
  .navbar-brand-box .logo-txt{font-size:1.05rem!important}
}
@media (max-width:767.98px){
  .navbar-header{padding-right:10px!important}
  .navbar-brand-box{width:156px!important;padding:0 8px!important}
  .navbar-brand-box .logo img{height:30px!important}
  .navbar-brand-box .logo-txt{font-size:.95rem!important;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .unit-user-trigger span,.unit-user-trigger .mdi-chevron-down{display:none!important}
  .money-status{font-size:.82rem;padding:0 10px;min-height:40px}
  .unit-topbar-actions{gap:6px!important}
  .dataTables_wrapper .row{margin-left:0!important;margin-right:0!important}
  .dataTables_wrapper .col-sm-12{padding-left:0!important;padding-right:0!important}
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter,
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate{width:100%;text-align:left!important}
  .dataTables_wrapper .dataTables_paginate .pagination{flex-wrap:wrap}
  .dataTables_wrapper table.dataTable{min-width:980px!important}
  .table-responsive{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
}


/* Fix long token/hash text overlapping in package and token cards */
.pp-list-card,
.pp-list-card .pp-meta,
.pp-list-card .pp-meta > div{
  min-width:0;
}
.pp-list-card h4,
.pp-list-card h5,
.pp-list-card .text-muted{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.pp-meta > div{
  overflow:hidden;
}
.pp-meta div strong,
.pp-break-value{
  display:block;
  width:100%;
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.45;
}
.pp-mono-value{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:.92rem!important;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.package-card .pp-meta,
.admin-package-card .pp-meta,
.token-card .pp-meta,
.admin-token-card .pp-meta{
  align-items:start;
  grid-template-columns:1fr!important;
}
@media (max-width:1399.98px){
  .package-card .pp-meta,
  .admin-package-card .pp-meta,
  .token-card .pp-meta,
  .admin-token-card .pp-meta{
    grid-template-columns:1fr;
  }
}


/* Unitoreios admin/mobile fixes */
.main-content .page-title-box{
  margin-top:0!important;
  padding-top:0;
  position:relative;
  z-index:2;
}
.unit-topbar-actions{
  margin-left:auto;
  min-width:0;
}
.money-status{
  flex-shrink:0;
  max-width:100%;
}
@media (max-width:1199.98px){
  .money-status{
    display:inline-flex!important;
  }
}
@media (max-width:991.98px){
  .main-content .page-title-box{
    margin-top:14px!important;
  }
  .money-status{
    display:inline-flex!important;
    min-height:40px;
    padding:0 10px!important;
    margin:0!important;
    font-size:.8rem!important;
  }
  .unit-user-trigger{
    min-height:40px!important;
    padding:0 10px!important;
  }
}
@media (max-width:767.98px){
  .navbar-header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  .unit-topbar-actions{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    flex-wrap:nowrap!important;
    min-width:0;
  }
  .money-status{
    display:inline-flex!important;
    order:0;
    padding:0 8px!important;
    min-height:36px!important;
    max-width:140px;
    font-size:.74rem!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .unit-user-trigger{
    order:2;
    min-width:40px;
    min-height:40px!important;
    padding:0 8px!important;
  }
  #page-header-notifications-dropdown{
    order:1;
  }
}


/* Desktop package/token card layout hard fixes */
.pp-page-head,
.pp-page-head-actions,
.pp-page-head-main{
  min-width:0;
}

.pp-page-head{
  row-gap:14px;
}

.pp-page-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.pp-page-head-actions .btn{
  white-space:nowrap;
}

@media (min-width: 992px){
  #packageCardList .package-card,
  .pp-card-list .admin-package-card,
  .pp-card-list .token-card,
  .pp-card-list .admin-token-card{
    display:flex;
    flex-direction:column;
    min-height:100%;
  }

  #packageCardList .package-card .pp-meta,
  .pp-card-list .admin-package-card .pp-meta,
  .pp-card-list .token-card .pp-meta,
  .pp-card-list .admin-token-card .pp-meta{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
    width:100%!important;
    margin:18px 0 18px!important;
  }

  #packageCardList .package-card .pp-meta > div,
  .pp-card-list .admin-package-card .pp-meta > div,
  .pp-card-list .token-card .pp-meta > div,
  .pp-card-list .admin-token-card .pp-meta > div{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    flex:none!important;
  }

  #packageCardList .package-card .pp-meta > div span,
  .pp-card-list .admin-package-card .pp-meta > div span,
  .pp-card-list .token-card .pp-meta > div span,
  .pp-card-list .admin-token-card .pp-meta > div span{
    display:block!important;
    width:100%!important;
    margin-bottom:6px!important;
  }

  #packageCardList .package-card .pp-meta > div strong,
  .pp-card-list .admin-package-card .pp-meta > div strong,
  .pp-card-list .token-card .pp-meta > div strong,
  .pp-card-list .admin-token-card .pp-meta > div strong{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    line-height:1.5!important;
  }

  #packageCardList .package-card .pp-card-actions,
  .pp-card-list .admin-package-card .pp-card-actions,
  .pp-card-list .token-card .pp-card-actions,
  .pp-card-list .admin-token-card .pp-card-actions{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px!important;
    width:100%;
    margin-top:auto;
  }

  #packageCardList .package-card .pp-card-actions .btn,
  .pp-card-list .admin-package-card .pp-card-actions .btn,
  .pp-card-list .token-card .pp-card-actions .btn,
  .pp-card-list .admin-token-card .pp-card-actions .btn{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    text-align:center;
  }

  #packageCardList .package-card .pp-mono-value,
  .pp-card-list .admin-package-card .pp-mono-value,
  .pp-card-list .token-card .pp-mono-value,
  .pp-card-list .admin-token-card .pp-mono-value{
    font-size:.88rem!important;
  }
}

@media (min-width: 1400px){
  .pp-page-head{
    flex-wrap:nowrap!important;
  }

  .pp-page-head-actions{
    flex-wrap:nowrap;
  }
}

@media (max-width: 991.98px){
  .pp-page-head-actions{
    width:100%;
    justify-content:flex-start;
  }

  .pp-page-head-actions .btn,
  .pp-page-head-actions a.btn{
    width:100%;
  }
}


/* FINAL DESKTOP PACKAGE CARD FIX */
@media (min-width: 992px){
  #packageCardList{
    align-items:stretch;
  }

  #packageCardList .package-card,
  #packageCardList .package-card.pp-list-card{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    height:100%!important;
  }

  #packageCardList .package-card .pp-meta,
  #packageCardList .package-card .pp-meta.pp-meta-stack{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
    width:100%!important;
    margin:18px 0 18px!important;
  }

  #packageCardList .package-card .pp-meta > .pp-meta-item,
  #packageCardList .package-card .pp-meta > div{
    display:block!important;
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }

  #packageCardList .package-card .pp-meta > .pp-meta-item > span,
  #packageCardList .package-card .pp-meta > div > span{
    display:block!important;
    width:100%!important;
    margin-bottom:6px!important;
  }

  #packageCardList .package-card .pp-meta > .pp-meta-item > strong,
  #packageCardList .package-card .pp-meta > div > strong,
  #packageCardList .package-card .pp-break-value,
  #packageCardList .package-card .pp-mono-value{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    word-break:break-all!important;
    overflow-wrap:anywhere!important;
    line-height:1.55!important;
  }

  #packageCardList .package-card .pp-card-actions{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    margin-top:auto!important;
  }

  #packageCardList .package-card .pp-card-actions .btn{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    text-align:center!important;
  }

  .main-content > .page-content{
    padding-top:calc(var(--unit-header-height, 70px) + 22px)!important;
  }

  .main-content .page-title-box.pp-page-head{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:16px!important;
    margin-bottom:18px!important;
    position:relative!important;
    z-index:3!important;
  }

  .main-content .page-title-box.pp-page-head .pp-page-head-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin-left:auto!important;
  }
}

/* Mobile fullfix: floating action stack is desktop only. */
@media (max-width:991.98px){
  .pp-fab-stack{display:none!important;visibility:hidden!important;pointer-events:none!important;}
}
