/* ==========================================================================
   NODEX admin — modern design system
   Loaded AFTER Bootstrap 3 + AdminLTE 2 so it overrides the legacy skin while
   keeping all structural classes the JS depends on (push-menu, treeview,
   select2, iCheck, DataTables). No build step required.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --nx-bg:           #0f1115;   /* app background (dark canvas)            */
  --nx-surface:      #171a21;   /* cards / panels                         */
  --nx-surface-2:    #1e222b;   /* raised / hover                         */
  --nx-border:       #2a2f3a;   /* hairlines                              */
  --nx-text:         #e7eaf0;   /* primary text                          */
  --nx-text-dim:     #9aa3b2;   /* secondary text                        */
  --nx-muted:        #6b7280;   /* tertiary / placeholder                */

  --nx-primary:      #6366f1;   /* indigo                                 */
  --nx-primary-600:  #5457e6;
  --nx-primary-700:  #4448c9;
  --nx-primary-soft: rgba(99,102,241,.14);

  --nx-success:      #22c55e;
  --nx-success-soft: rgba(34,197,94,.14);
  --nx-warning:      #f59e0b;
  --nx-warning-soft: rgba(245,158,11,.14);
  --nx-danger:       #ef4444;
  --nx-danger-soft:  rgba(239,68,68,.14);
  --nx-info:         #38bdf8;
  --nx-info-soft:    rgba(56,189,248,.14);

  --nx-radius:       12px;
  --nx-radius-sm:    9px;
  --nx-shadow:       0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.6);
  --nx-shadow-lg:    0 24px 60px -20px rgba(0,0,0,.7);
  --nx-sidebar-w:    230px;  /* must match AdminLTE's hardcoded 230px (off-canvas transform + content margin) */
}

/* ---------- base ---------------------------------------------------------- */
html,body{height:100%;}
body{overflow-x:hidden;}                 /* never allow the page itself to scroll sideways */
.content-wrapper{min-width:0;}            /* let flex/grid children shrink instead of overflowing */
.content,.content-header{max-width:100%;}
.table-responsive,.dataTables_wrapper{overflow-x:auto;}  /* wide tables scroll inside their card */
body.skin-blue,
body{
  background:var(--nx-bg) !important;
  color:var(--nx-text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif !important;
  font-feature-settings:'cv11','ss01';
  -webkit-font-smoothing:antialiased;
}
a{color:var(--nx-primary);text-decoration:none;}
a:hover,a:focus{color:var(--nx-primary-600);text-decoration:none;}
/* never show the screen-reader "Toggle navigation" label as visible text */
.sidebar-toggle .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.skin-blue .sidebar-menu>li>a{text-decoration:none!important;}
::selection{background:var(--nx-primary-soft);}
*{scrollbar-width:thin;scrollbar-color:var(--nx-border) transparent;}
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-thumb{background:var(--nx-border);border-radius:8px;border:2px solid transparent;background-clip:content-box;}

/* ---------- header / navbar ---------------------------------------------- */
.skin-blue .main-header .navbar,
.main-header .navbar{
  background:rgba(15,17,21,.72) !important;
  -webkit-backdrop-filter:saturate(160%) blur(10px);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--nx-border);
}
.skin-blue .main-header .logo,
.main-header .logo{
  background:transparent !important;
  color:var(--nx-text) !important;
  font-weight:800;letter-spacing:.5px;
  border-bottom:1px solid var(--nx-border);
  border-right:1px solid var(--nx-border);
  transition:background .2s;
}
.main-header .logo{text-align:left!important;padding-left:20px!important;}
.main-header .logo .logo-lg b{color:var(--nx-primary);}
.skin-blue .main-header .logo:hover{background:var(--nx-surface) !important;}
/* hamburger toggle — always a visible modern glyph */
.main-header .sidebar-toggle{color:var(--nx-text-dim)!important;font-size:0;}
.main-header .sidebar-toggle::before{content:"\f0c9";font-family:"FontAwesome";font-size:18px;line-height:1;}
.main-header .sidebar-toggle:hover{color:var(--nx-text)!important;}
.main-header .navbar .nav>li>a{color:var(--nx-text-dim) !important;}
.main-header .navbar .nav>li>a:hover{background:var(--nx-surface-2) !important;color:var(--nx-text) !important;}
.skin-blue .main-header .navbar .sidebar-toggle:hover{background:var(--nx-surface-2) !important;}
.navbar .navbar-custom-menu .user-menu>a{font-weight:600;color:var(--nx-text) !important;}

/* ---------- sidebar ------------------------------------------------------ */
.main-sidebar,.left-side{width:var(--nx-sidebar-w);}
.skin-blue .main-sidebar,
.skin-blue .wrapper{background:var(--nx-bg) !important;}
.main-sidebar{
  background:linear-gradient(180deg,#13151b 0%,#0f1115 100%) !important;
  border-right:1px solid var(--nx-border);
}
.sidebar-menu>li.header{
  color:var(--nx-muted) !important;
  background:transparent !important;
  font-size:11px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;
  padding:18px 18px 8px;
}
.skin-blue .sidebar-menu>li>a{
  color:var(--nx-text-dim) !important;
  border-left:3px solid transparent;
  border-radius:0 8px 8px 0;
  margin:2px 10px 2px 0;
  padding:11px 14px;
  font-weight:500;
  transition:background .15s,color .15s,border-color .15s;
}
.skin-blue .sidebar-menu>li>a>.fa,
.skin-blue .sidebar-menu>li>a>i{width:22px;color:var(--nx-muted);transition:color .15s;}
.skin-blue .sidebar-menu>li:hover>a,
.skin-blue .sidebar-menu>li.active>a,
.skin-blue .sidebar-menu>li.menu-open>a{
  background:var(--nx-surface-2) !important;
  color:var(--nx-text) !important;
}
.skin-blue .sidebar-menu>li.active>a{
  border-left-color:var(--nx-primary);
  background:var(--nx-primary-soft) !important;
  color:#fff !important;
}
.skin-blue .sidebar-menu>li.active>a>.fa,
.skin-blue .sidebar-menu>li:hover>a>.fa{color:var(--nx-primary);}
.skin-blue .treeview-menu>li>a{color:var(--nx-text-dim) !important;}
.skin-blue .treeview-menu>li.active>a,
.skin-blue .treeview-menu>li>a:hover{color:#fff !important;}
.sidebar-menu .label,.sidebar-menu .badge{border-radius:999px;padding:3px 8px;font-weight:700;}
/* keep long menu labels from running under the count badge */
.skin-blue .sidebar-menu>li>a{position:relative;padding-right:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sidebar-menu>li>a>.pull-right-container{position:absolute;right:10px;top:50%;transform:translateY(-50%);}

/* ---------- content / page header ---------------------------------------- */
.content-wrapper,.right-side{background:var(--nx-bg) !important;min-height:100vh;}
.content-header{padding:22px 22px 6px;}
.content-header>h1{
  font-size:22px;font-weight:700;color:var(--nx-text);margin:0;
}
.content-header>h1>small{color:var(--nx-text-dim);font-weight:500;}
.content-header>.breadcrumb{display:none;}
.content{padding:14px 22px 26px;}

/* ---------- cards (.box) ------------------------------------------------- */
.box{
  background:var(--nx-surface) !important;
  border:1px solid var(--nx-border) !important;
  border-radius:var(--nx-radius) !important;
  box-shadow:var(--nx-shadow) !important;
  border-top-width:1px !important;
  margin-bottom:22px;
}
.box.box-primary,.box.box-info,.box.box-success,.box.box-warning,.box.box-danger{border-top:3px solid var(--nx-primary) !important;}
.box.box-success{border-top-color:var(--nx-success) !important;}
.box.box-warning{border-top-color:var(--nx-warning) !important;}
.box.box-danger {border-top-color:var(--nx-danger) !important;}
.box.box-info   {border-top-color:var(--nx-info) !important;}
.box-header{color:var(--nx-text);padding:16px 18px;border-bottom:1px solid var(--nx-border);}
.box-header.with-border{border-bottom:1px solid var(--nx-border);}
.box-header .box-title{font-size:15px;font-weight:700;}
.box-body{padding:18px;color:var(--nx-text);}
.box-footer{background:transparent !important;border-top:1px solid var(--nx-border);color:var(--nx-text-dim);border-radius:0 0 var(--nx-radius) var(--nx-radius);}

/* ---------- stat widgets ------------------------------------------------- */
.small-box{border-radius:var(--nx-radius);box-shadow:var(--nx-shadow);overflow:hidden;}
.small-box>.inner{padding:18px;}
.small-box h3{font-weight:800;font-size:30px;}
.info-box{
  background:var(--nx-surface) !important;border:1px solid var(--nx-border);
  border-radius:var(--nx-radius);box-shadow:var(--nx-shadow);min-height:90px;
}
.info-box-icon{border-radius:var(--nx-radius) 0 0 var(--nx-radius);}
.info-box-number{color:var(--nx-text);font-weight:700;}
.info-box-text{color:var(--nx-text-dim);}

/* ---------- buttons ------------------------------------------------------ */
.btn{
  border-radius:var(--nx-radius-sm);
  font-weight:600;border:1px solid transparent;
  padding:8px 16px;transition:filter .15s,background .15s,box-shadow .15s,transform .04s;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--nx-primary);border-color:var(--nx-primary);color:#fff;}
.btn-primary:hover,.btn-primary:focus{background:var(--nx-primary-600);border-color:var(--nx-primary-600);color:#fff;}
.btn-success{background:var(--nx-success);border-color:var(--nx-success);}
.btn-success:hover{filter:brightness(1.07);}
.btn-warning{background:var(--nx-warning);border-color:var(--nx-warning);color:#1a1206;}
.btn-danger {background:var(--nx-danger);border-color:var(--nx-danger);}
.btn-danger:hover{filter:brightness(1.07);}
.btn-info{background:var(--nx-info);border-color:var(--nx-info);color:#06222e;}
.btn-default{
  background:var(--nx-surface-2);border-color:var(--nx-border);color:var(--nx-text);
}
.btn-default:hover{background:var(--nx-border);color:var(--nx-text);}
.btn-flat{border-radius:var(--nx-radius-sm);}

/* ---------- forms -------------------------------------------------------- */
.form-control,.select2-container--default .select2-selection--single{
  background:var(--nx-surface-2) !important;
  border:1px solid var(--nx-border) !important;
  border-radius:var(--nx-radius-sm) !important;
  color:var(--nx-text) !important;
  box-shadow:none !important;
  height:auto;min-height:40px;padding:9px 12px;
  transition:border-color .15s,box-shadow .15s;
}
.form-control::placeholder{color:var(--nx-muted);}
.form-control:focus,
.select2-container--default.select2-container--focus .select2-selection--single{
  border-color:var(--nx-primary) !important;
  box-shadow:0 0 0 3px var(--nx-primary-soft) !important;
}
label,.control-label{color:var(--nx-text-dim);font-weight:600;}
.input-group-addon{background:var(--nx-surface) !important;border:1px solid var(--nx-border) !important;color:var(--nx-text-dim) !important;border-radius:var(--nx-radius-sm);}
.select2-dropdown{background:var(--nx-surface-2);border:1px solid var(--nx-border);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--nx-primary);}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--nx-text) !important;line-height:22px;}

/* ---------- tables ------------------------------------------------------- */
.table{color:var(--nx-text);}
.table>thead>tr>th{
  border-bottom:1px solid var(--nx-border) !important;
  color:var(--nx-text-dim);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:.04em;padding:12px 14px;
}
.table>tbody>tr>td{border-top:1px solid var(--nx-border) !important;padding:12px 14px;vertical-align:middle;}
.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>thead>tr>th{border-color:var(--nx-border) !important;}
.table-hover>tbody>tr:hover{background:var(--nx-surface-2) !important;}
.table-striped>tbody>tr:nth-of-type(odd){background:rgba(255,255,255,.02);}
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select{background:var(--nx-surface-2);border:1px solid var(--nx-border);color:var(--nx-text);border-radius:8px;padding:6px 10px;}
.dataTables_wrapper{color:var(--nx-text-dim);}
.dataTables_wrapper .dataTables_paginate .paginate_button{color:var(--nx-text-dim) !important;border-radius:8px !important;border:1px solid transparent !important;}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
  background:var(--nx-primary) !important;border-color:var(--nx-primary) !important;color:#fff !important;
}
/* DataTables-bootstrap pagination (the <ul class="pagination">) — dark theme */
.dataTables_wrapper .pagination{margin:0;}
.dataTables_wrapper .pagination>li>a,
.dataTables_wrapper .pagination>li>span{
  background:var(--nx-surface-2) !important;border:1px solid var(--nx-border) !important;
  color:var(--nx-text-dim) !important;margin:0 3px;border-radius:8px !important;padding:7px 13px;
}
.dataTables_wrapper .pagination>li:first-child>a,
.dataTables_wrapper .pagination>li:last-child>a{border-radius:8px !important;}
.dataTables_wrapper .pagination>li>a:hover{background:var(--nx-border) !important;color:var(--nx-text) !important;}
.dataTables_wrapper .pagination>.active>a,
.dataTables_wrapper .pagination>.active>a:hover,
.dataTables_wrapper .pagination>.active>span{background:var(--nx-primary) !important;border-color:var(--nx-primary) !important;color:#fff !important;}
.dataTables_wrapper .pagination>.disabled>a,
.dataTables_wrapper .pagination>.disabled>span{opacity:.45;}

/* keep list tables tight to content (no huge empty stretched columns) so the
   actions column stays reachable; .table-responsive provides scroll if needed */
.table-responsive table.dataTable{width:auto !important;}
.table-responsive table.dataTable td,
.table-responsive table.dataTable th{white-space:nowrap;}
.table-responsive table.dataTable td .nx-actions{white-space:normal;}

/* ---------- labels / badges --------------------------------------------- */
.label,.badge{
  font-weight:700;border-radius:999px;padding:.32em .7em;font-size:11px;letter-spacing:.02em;
}
.label-primary,.bg-blue{background:var(--nx-primary-soft) !important;color:#c7c9ff !important;}
.label-success,.bg-green{background:var(--nx-success-soft) !important;color:#86efac !important;}
.label-warning,.bg-yellow{background:var(--nx-warning-soft) !important;color:#fcd34d !important;}
.label-danger,.bg-red{background:var(--nx-danger-soft) !important;color:#fca5a5 !important;}
.label-info,.bg-aqua{background:var(--nx-info-soft) !important;color:#7dd3fc !important;}

/* ---------- alerts ------------------------------------------------------- */
.alert{border:1px solid transparent;border-radius:var(--nx-radius);font-weight:500;}
.alert-success{background:var(--nx-success-soft);border-color:rgba(34,197,94,.3);color:#bbf7d0;}
.alert-warning{background:var(--nx-warning-soft);border-color:rgba(245,158,11,.3);color:#fde68a;}
.alert-danger{background:var(--nx-danger-soft);border-color:rgba(239,68,68,.3);color:#fecaca;}
.alert-info{background:var(--nx-info-soft);border-color:rgba(56,189,248,.3);color:#bae6fd;}

/* ---------- tabs / nav --------------------------------------------------- */
.nav-tabs{border-bottom:1px solid var(--nx-border);}
.nav-tabs>li>a{color:var(--nx-text-dim);border:none;border-bottom:2px solid transparent;border-radius:0;}
.nav-tabs>li>a:hover{background:transparent;color:var(--nx-text);border-bottom-color:var(--nx-border);}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{
  background:transparent;color:var(--nx-text);border:none;border-bottom:2px solid var(--nx-primary);
}
.nav-tabs-custom>.nav-tabs>li.active{border-top-color:var(--nx-primary);}

/* ---------- modals ------------------------------------------------------- */
.modal-content{background:var(--nx-surface);border:1px solid var(--nx-border);border-radius:var(--nx-radius);box-shadow:var(--nx-shadow-lg);color:var(--nx-text);}
.modal-header,.modal-footer{border-color:var(--nx-border);}
.modal-backdrop.in{opacity:.6;}

/* ---------- footer ------------------------------------------------------- */
.main-footer{
  background:transparent !important;border-top:1px solid var(--nx-border);
  color:var(--nx-muted);margin-left:var(--nx-sidebar-w);
}
.sidebar-collapse .main-footer{margin-left:0;}

/* ---------- misc legacy text ftorces ------------------------------------ */
.box-body,.box-body p,.box-body td,.content p,h2,h3,h4,h5{color:inherit;}
hr{border-top:1px solid var(--nx-border);}
.text-muted{color:var(--nx-muted) !important;}

/* ==========================================================================
   LOGIN PAGE (modern, standalone — used by tmpl/login.tpl)
   ========================================================================== */
body.nx-login{
  display:flex;align-items:center;justify-content:center;min-height:100vh;
  background:
    radial-gradient(1100px 500px at 15% -10%,rgba(99,102,241,.22),transparent 60%),
    radial-gradient(900px 500px at 110% 110%,rgba(56,189,248,.16),transparent 55%),
    var(--nx-bg);
}
.nx-auth{
  width:100%;max-width:400px;padding:24px;
}
.nx-auth__card{
  background:linear-gradient(180deg,var(--nx-surface) 0%,#13161d 100%);
  border:1px solid var(--nx-border);
  border-radius:18px;
  box-shadow:var(--nx-shadow-lg);
  padding:34px 30px 30px;
}
.nx-auth__brand{
  display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:6px;
}
.nx-auth__brand .dot{
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(135deg,var(--nx-primary),#8b5cf6);
  box-shadow:0 8px 20px -6px rgba(99,102,241,.7);
  display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;
}
.nx-auth__brand h1{font-size:22px;font-weight:800;letter-spacing:.5px;margin:0;color:var(--nx-text);}
.nx-auth__sub{text-align:center;color:var(--nx-text-dim);font-size:13px;margin:0 0 24px;}
.nx-field{margin-bottom:14px;}
.nx-field label{display:block;font-size:12px;font-weight:600;color:var(--nx-text-dim);margin-bottom:6px;}
.nx-field input{
  width:100%;height:46px;padding:0 14px;
  background:var(--nx-surface-2);border:1px solid var(--nx-border);
  border-radius:11px;color:var(--nx-text);font-size:14px;transition:border-color .15s,box-shadow .15s;
}
.nx-field input:focus{outline:none;border-color:var(--nx-primary);box-shadow:0 0 0 3px var(--nx-primary-soft);}
.nx-btn{
  width:100%;height:46px;margin-top:6px;border:none;border-radius:11px;cursor:pointer;
  background:linear-gradient(135deg,var(--nx-primary),var(--nx-primary-700));
  color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em;
  box-shadow:0 12px 26px -10px rgba(99,102,241,.8);transition:filter .15s,transform .04s;
}
.nx-btn:hover{filter:brightness(1.08);}
.nx-btn:active{transform:translateY(1px);}
.nx-auth__foot{text-align:center;color:var(--nx-muted);font-size:12px;margin-top:18px;}
.nx-auth__error{
  background:var(--nx-danger-soft);border:1px solid rgba(239,68,68,.35);color:#fca5a5;
  border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:16px;text-align:center;
}

/* ---------- callouts (AdminLTE) ----------------------------------------- */
.callout{border-radius:var(--nx-radius)!important;padding:12px 14px;margin-bottom:14px;border:1px solid var(--nx-border)!important;background:var(--nx-surface-2)!important;color:var(--nx-text)!important;box-shadow:none!important;}
.callout p{margin:0;}
.callout.callout-danger {background:var(--nx-danger-soft)!important;border-color:rgba(239,68,68,.35)!important;color:#fca5a5!important;}
.callout.callout-warning{background:var(--nx-warning-soft)!important;border-color:rgba(245,158,11,.35)!important;color:#fde68a!important;}
.callout.callout-success{background:var(--nx-success-soft)!important;border-color:rgba(34,197,94,.35)!important;color:#bbf7d0!important;}
.callout.callout-info   {background:var(--nx-info-soft)!important;border-color:rgba(56,189,248,.35)!important;color:#bae6fd!important;}

/* ==========================================================================
   DASHBOARD (native, used by tmpl/frontpage.tpl)
   ========================================================================== */
.nx-stats{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:16px;margin-bottom:22px;
}
.nx-stat{
  position:relative;overflow:hidden;
  background:var(--nx-surface);border:1px solid var(--nx-border);
  border-radius:var(--nx-radius);box-shadow:var(--nx-shadow);
  padding:18px 18px 18px 20px;
}
.nx-stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--nx-c,var(--nx-primary));}
.nx-stat__label{display:flex;align-items:center;gap:8px;color:var(--nx-text-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.nx-stat__chip{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff;background:var(--nx-c,var(--nx-primary));box-shadow:0 6px 14px -6px var(--nx-c,var(--nx-primary));}
.nx-stat__value{margin-top:10px;font-size:24px;font-weight:800;color:var(--nx-text);line-height:1.1;}
.nx-stat__sub{margin-top:4px;color:var(--nx-muted);font-size:12px;}
.nx-c-btc{--nx-c:#f7931a;} .nx-c-ltc{--nx-c:#5fa3df;} .nx-c-eth{--nx-c:#8b5cf6;}
.nx-c-xmr{--nx-c:#ff6b2c;} .nx-c-usdt{--nx-c:#26a17b;} .nx-c-lk{--nx-c:#14b8a6;}
.nx-c-code{--nx-c:#eab308;} .nx-c-rev{--nx-c:#64748b;}

.nx-panel{background:var(--nx-surface);border:1px solid var(--nx-border);border-radius:var(--nx-radius);box-shadow:var(--nx-shadow);margin-bottom:22px;}
.nx-panel__head{padding:16px 18px;border-bottom:1px solid var(--nx-border);font-weight:700;font-size:15px;color:var(--nx-text);display:flex;align-items:center;gap:8px;}
.nx-panel__head .fa{color:var(--nx-primary);}
.nx-panel__body{padding:18px;}
.nx-ratecols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media (max-width:767px){.nx-ratecols{grid-template-columns:1fr;}}
.nx-ratecols h6{margin:0 0 10px;color:var(--nx-text-dim);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.nx-rate{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--nx-border);}
.nx-rate:last-child{border-bottom:none;}
.nx-rate__name{color:var(--nx-text-dim);font-weight:600;}
.nx-rate__val{color:var(--nx-text);font-weight:700;font-variant-numeric:tabular-nums;}

/* ==========================================================================
   LIST / TABLE PAGES (exchange, customers, operators, ...)
   ========================================================================== */
/* status pill (replaces plain "Оплачена"/"Не оплачена" text) */
.nx-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;border:1px solid transparent;}
.nx-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9;}
.nx-pill--ok  {background:var(--nx-success-soft);color:#86efac;border-color:rgba(34,197,94,.3);}
.nx-pill--no  {background:var(--nx-warning-soft);color:#fcd34d;border-color:rgba(245,158,11,.3);}
.nx-pill--bad {background:var(--nx-danger-soft);color:#fca5a5;border-color:rgba(239,68,68,.3);}
.nx-pill--info{background:var(--nx-info-soft);color:#7dd3fc;border-color:rgba(56,189,248,.3);}

/* modern action buttons in row "Управление" columns (replaces legacy .btn-app) */
.btn-app{
  border-radius:9px !important;position:relative;padding:0 !important;margin:0 6px 6px 0 !important;
  min-width:34px;height:32px;line-height:32px;text-align:center;border:1px solid var(--nx-border) !important;
  background:var(--nx-surface-2) !important;color:var(--nx-text-dim) !important;font-size:13px;display:inline-block;
  transition:filter .15s,background .15s;
}
.btn-app:hover{filter:brightness(1.1);}
.btn-app.ok_exchange  {background:var(--nx-success) !important;border-color:var(--nx-success) !important;color:#06240f !important;}
.btn-app.fail_exchange{background:var(--nx-danger)  !important;border-color:var(--nx-danger)  !important;color:#fff !important;}
/* action column: compact buttons that wrap instead of forcing a wide column */
.nx-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:170px;max-width:230px;}
.nx-actions .btn-sm{border-radius:8px;padding:5px 10px;margin:0;}
.nx-actions .btn-app{margin:0 !important;}
.table td .btn-block{margin-top:6px;}
.table td .btn-sm{border-radius:8px;}

/* card header with a live count chip */
.nx-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.nx-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--nx-primary-soft);color:#c7c9ff;font-weight:700;font-size:12px;}

/* ==========================================================================
   INLINE FORM GRID (income calc, filters, ...)
   ========================================================================== */
.nx-form-grid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;}
.nx-fg{display:flex;flex-direction:column;gap:6px;flex:1 1 160px;min-width:140px;}
.nx-fg label{font-size:12px;font-weight:600;color:var(--nx-text-dim);margin:0;}
.nx-fg .form-control{width:100%;}
.nx-fg--btn{flex:0 0 auto;min-width:0;justify-content:flex-end;}
.nx-fg--btn .btn{height:40px;white-space:nowrap;}
.nx-fg input[disabled]{background:var(--nx-surface)!important;color:var(--nx-text)!important;font-weight:600;}

/* ---------- responsive --------------------------------------------------- */
@media (max-width:767px){
  .content,.content-header{padding-left:14px;padding-right:14px;}
  .main-footer{margin-left:0;}
}
