/* ==========================================================================
   LVCNR UCP — fresh redesign (2026)
   Look & feel only. No markup, routes, PHP bindings or JS are changed.
   Loaded after AdminLTE; everything is scoped under body.lv-ucp.
   Display face: Pricedown (GTA). Body face: Source Sans 3.
   ========================================================================== */
@font-face{
  font-family:'Pricedown';
  src:url('../fonts/pricedow.ttf') format('truetype');
  font-display:swap;
}

.lv-ucp{
  --shell:#121823; --sidebar:#0e141d; --sidebar-hover:#1a2432; --sidebar-active:#1c6fe0;
  --sidebar-fg:#aab6c6; --sidebar-head:#5c6a7e;
  --topbar:#182233; --topbar-line:#223049;
  --content:#eef1f5; --card:#ffffff; --card-line:#e4e9f0; --card-head:#f7f9fc;
  --ink:#1b2430; --ink-soft:#5f6c7e;
  --blue:#1c6fe0; --blue-d:#145ec4; --gold:#c79a2b; --good:#2e9e5b; --bad:#d64545; --warn:#e08a1e;
  --radius:12px; --radius-sm:8px; --shadow:0 10px 26px -18px rgba(13,28,54,.55);
  --body-font:'Source Sans 3','Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;
  --display:'Pricedown',Impact,'Arial Black',sans-serif;
}

/* ---- base ---------------------------------------------------------------- */
.lv-ucp, .lv-ucp .wrapper, .lv-ucp .content-wrapper, .lv-ucp .right-side{
  background:var(--content);
  font-family:var(--body-font);
  color:var(--ink);
}
.lv-ucp a{ color:var(--blue); }
.lv-ucp a:hover{ color:var(--blue-d); }
.lv-ucp .content-wrapper{ min-height:100vh; }

/* ---- brand / logo -------------------------------------------------------- */
.lv-ucp .main-header .logo{
  background:var(--sidebar);
  color:var(--gold);
  font-family:var(--display);
  font-size:30px;
  letter-spacing:.5px;
  border-bottom:0;
  transition:background .2s;
}
.lv-ucp .main-header .logo .logo-lg b{ color:var(--gold); font-weight:400; }
.lv-ucp .main-header .logo .logo-lg{ font-weight:400; }
.lv-ucp .main-header .logo:hover{ background:#0b1119; }

/* ---- topbar -------------------------------------------------------------- */
.lv-ucp .main-header .navbar{
  background:var(--topbar);
  border-bottom:1px solid var(--topbar-line);
}
.lv-ucp .main-header .navbar .sidebar-toggle{ color:#c6d2e2; }
.lv-ucp .main-header .navbar .sidebar-toggle:hover{ background:rgba(255,255,255,.06); color:#fff; }
.lv-ucp .main-header .navbar .nav>li>a{ color:#c6d2e2; }
.lv-ucp .main-header .navbar .nav>li>a:hover,
.lv-ucp .main-header .navbar .nav>.open>a{ background:rgba(255,255,255,.06); color:#fff; }
.lv-ucp .main-header .navbar .nav>li.user>a>.user-image{
  border:2px solid rgba(255,255,255,.35);
}
.lv-ucp .user-menu .user-header{ background:var(--blue); }
.lv-ucp .navbar .dropdown-menu{ border:0; box-shadow:var(--shadow); border-radius:var(--radius-sm); overflow:hidden; }

/* ---- sidebar ------------------------------------------------------------- */
.lv-ucp .main-sidebar, .lv-ucp .left-side{ background:var(--sidebar); }
.lv-ucp .sidebar-menu>li>a{
  color:var(--sidebar-fg);
  border-left:3px solid transparent;
  font-weight:600;
  padding:11px 14px;
}
.lv-ucp .sidebar-menu>li>a>.fa{ width:22px; }
.lv-ucp .sidebar-menu>li.header{
  background:transparent;
  color:var(--sidebar-head);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  padding:16px 16px 7px;
}
.lv-ucp .sidebar-menu>li>a:hover,
.lv-ucp .sidebar-menu>li.active>a,
.lv-ucp .sidebar-menu .treeview-menu>li.active>a,
.lv-ucp .sidebar-menu .treeview-menu>li>a:hover{
  background:var(--sidebar-hover);
  color:#fff;
}
.lv-ucp .sidebar-menu>li.active>a{ border-left-color:var(--sidebar-active); color:#fff; }
.lv-ucp .treeview-menu{ background:rgba(0,0,0,.18); }
.lv-ucp .treeview-menu>li>a{ color:var(--sidebar-fg); }
.lv-ucp .sidebar-form{
  margin:12px;
  border:1px solid #1e2836;
  border-radius:var(--radius-sm);
  background:#0a0f16;
  overflow:hidden;
}
.lv-ucp .sidebar-form .form-control{ background:transparent; border:0; color:#cdd7e4; }
.lv-ucp .sidebar-form .btn{ background:transparent; color:var(--sidebar-head); }
.lv-ucp .sidebar-menu .label.bg-red{ background:var(--blue)!important; border-radius:999px; font-weight:700; }

/* ---- page header --------------------------------------------------------- */
.lv-ucp .content-header{ padding:22px 20px 6px; }
.lv-ucp .content-header>h1{
  font-family:var(--body-font);
  font-weight:700;
  font-size:24px;
  color:var(--ink);
  letter-spacing:-.01em;
}
.lv-ucp .content-header>h1>small{ color:var(--ink-soft); }
.lv-ucp .breadcrumb{ background:transparent; }
.lv-ucp .breadcrumb>li>a{ color:var(--blue); }

/* ---- boxes / cards ------------------------------------------------------- */
.lv-ucp .box{
  background:var(--card);
  border:1px solid var(--card-line);
  border-top:0;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.lv-ucp .box.box-primary{ border-top:3px solid var(--blue); }
.lv-ucp .box.box-danger{ border-top:3px solid var(--bad); }
.lv-ucp .box.box-success{ border-top:3px solid var(--good); }
.lv-ucp .box.box-warning{ border-top:3px solid var(--warn); }
.lv-ucp .box.box-info{ border-top:3px solid var(--blue); }
.lv-ucp .box-header{ padding:16px 18px; }
.lv-ucp .box-header.with-border{ border-bottom:1px solid var(--card-line); }
.lv-ucp .box-header .box-title{ font-weight:700; font-size:17px; color:var(--ink); }
.lv-ucp .box-body{ padding:18px; }

/* ---- dashboard stat tiles (small-box) ------------------------------------ */
.lv-ucp .small-box{
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.lv-ucp .small-box>.inner{ padding:18px; }
.lv-ucp .small-box h3{ font-weight:700; font-size:34px; font-variant-numeric:tabular-nums; }
.lv-ucp .small-box p{ font-weight:600; opacity:.95; }
.lv-ucp .small-box .icon{ opacity:.25; }
.lv-ucp .small-box.bg-aqua,.lv-ucp .small-box.bg-blue{ background:var(--blue)!important; }
.lv-ucp .small-box.bg-green{ background:var(--good)!important; }
.lv-ucp .small-box.bg-yellow,.lv-ucp .small-box.bg-orange{ background:var(--gold)!important; }
.lv-ucp .small-box.bg-red{ background:var(--bad)!important; }
.lv-ucp .small-box .small-box-footer{ background:rgba(0,0,0,.12); }

/* ---- tables -------------------------------------------------------------- */
.lv-ucp .table{ color:var(--ink); }
.lv-ucp .table>thead>tr>th{
  border-bottom:2px solid var(--card-line);
  color:var(--ink-soft);
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-weight:700;
}
.lv-ucp .table>tbody>tr>td{ border-top:1px solid var(--card-line); vertical-align:middle; }
.lv-ucp .table-hover>tbody>tr:hover{ background:#f3f6fb; }
.lv-ucp .table-striped>tbody>tr:nth-of-type(odd){ background:#f8fafc; }

/* ---- forms --------------------------------------------------------------- */
.lv-ucp .form-control{
  border:1px solid var(--card-line);
  border-radius:var(--radius-sm);
  box-shadow:none;
  color:var(--ink);
  height:auto;
  padding:9px 12px;
}
.lv-ucp .form-control:focus{ border-color:var(--blue); box-shadow:0 0 0 3px rgba(28,111,224,.15); }
.lv-ucp .input-group-addon{ background:var(--card-head); border:1px solid var(--card-line); border-radius:var(--radius-sm); }
.lv-ucp label{ font-weight:600; }

/* ---- buttons ------------------------------------------------------------- */
.lv-ucp .btn{ border-radius:var(--radius-sm); font-weight:600; border:0; padding:8px 16px; }
.lv-ucp .btn-primary{ background:var(--blue); }
.lv-ucp .btn-primary:hover,.lv-ucp .btn-primary:focus{ background:var(--blue-d); }
.lv-ucp .btn-success{ background:var(--good); }
.lv-ucp .btn-danger{ background:var(--bad); }
.lv-ucp .btn-warning{ background:var(--gold); color:#fff; }
.lv-ucp .btn-default{ background:#e7ecf3; color:var(--ink); }
.lv-ucp .btn-default:hover{ background:#dce3ec; }
.lv-ucp .btn-flat{ border-radius:var(--radius-sm); }

/* ---- labels / badges / pills -------------------------------------------- */
.lv-ucp .label, .lv-ucp .badge{ border-radius:999px; font-weight:700; padding:.28em .7em; }
.lv-ucp .label-primary,.lv-ucp .bg-blue{ background:var(--blue); }
.lv-ucp .label-success{ background:var(--good); }
.lv-ucp .label-danger{ background:var(--bad); }
.lv-ucp .label-warning{ background:var(--gold); }

/* ---- pagination ---------------------------------------------------------- */
.lv-ucp .pagination>li>a{ color:var(--blue); border-color:var(--card-line); }
.lv-ucp .pagination>.active>a,.lv-ucp .pagination>.active>a:hover{ background:var(--blue); border-color:var(--blue); }

/* ---- login page ---------------------------------------------------------- */
.lv-ucp.login-page, .lv-ucp .login-page{ background:var(--shell); }
.lv-ucp .login-logo a, .lv-ucp .login-logo{
  font-family:var(--display);
  color:var(--gold);
  font-size:46px;
  letter-spacing:.5px;
}
.lv-ucp .login-box-body, .lv-ucp .register-box-body{
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:0 20px 50px -24px rgba(0,0,0,.7);
  border:0;
}

/* ---- footer -------------------------------------------------------------- */
.lv-ucp .main-footer{
  background:var(--card);
  border-top:1px solid var(--card-line);
  color:var(--ink-soft);
}
.lv-ucp .main-footer strong{ color:var(--ink); }

/* ---- misc ---------------------------------------------------------------- */
.lv-ucp .nav-tabs-custom{ border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
.lv-ucp .nav-tabs-custom>.nav-tabs>li.active>a{ border-top-color:var(--blue); }
.lv-ucp .progress{ border-radius:999px; }
.lv-ucp .progress-bar{ background:var(--blue); }
.lv-ucp .callout{ border-radius:var(--radius-sm); }
.lv-ucp .callout-info{ background:var(--blue); }

/* ==========================================================================
   Page-specific polish
   ========================================================================== */
/* login: the login box is nested inside a .box here, so don't double-card it */
.lv-ucp .box>.login-box-body{ background:transparent; box-shadow:none; border-radius:0; padding:18px 20px 20px; }
.lv-ucp .login-box-body .form-control-feedback{ color:var(--ink-soft); }

/* DataTables (admin, banlist, ticket) */
.lv-ucp .dataTables_wrapper .dataTables_filter input,
.lv-ucp .dataTables_wrapper .dataTables_length select{ border:1px solid var(--card-line); border-radius:8px; padding:6px 10px; box-shadow:none; }
.lv-ucp .dataTables_wrapper .dataTables_paginate .paginate_button{ border-radius:8px!important; border:0!important; color:var(--blue)!important; }
.lv-ucp .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.lv-ucp .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{ background:var(--blue)!important; color:#fff!important; }
.lv-ucp table.dataTable thead th{ border-bottom:2px solid var(--card-line)!important; }

/* ticket timeline / comments (viewticket) */
.lv-ucp .timeline>li>.timeline-item{ border:1px solid var(--card-line); border-radius:var(--radius); box-shadow:var(--shadow); }
.lv-ucp .timeline>li>.fa,.lv-ucp .timeline>li>.glyphicon,.lv-ucp .timeline>li>.ion{ background:var(--blue); color:#fff; }
.lv-ucp .timeline>.time-label>span{ border-radius:999px; background:var(--blue); }
.lv-ucp .box-comment .username{ color:var(--ink); font-weight:700; }

/* gang members list link was hard-coded white (invisible on light cards) */
.lv-ucp #gangmembers a{ color:var(--blue)!important; }
