/*
  Maxx Commerce — osTicket Custom Theme
  Matches: css/style.css palette (Navy #0d0d0d · Green #16a34a · White)
  Upload this file's contents into:
  Admin Panel → Settings → Pages → Custom CSS
*/

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

body {
  font-family: 'Inter', sans-serif;
  color: #1e293b;
  background: #f8fafc;
}
h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
}

/* ── Top Navigation Bar ─────────────────────────────────── */
.navbar,
#header,
.site-header {
  background: #0d0d0d !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.25) !important;
}
.navbar-brand,
.navbar-brand:hover,
#header .logo a {
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  letter-spacing: -.02em !important;
  text-decoration: none !important;
}
.navbar .nav-link,
#header .nav a {
  color: rgba(255,255,255,.82) !important;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  transition: color .15s;
}
.navbar .nav-link:hover,
#header .nav a:hover {
  color: #ffffff !important;
}

/* ── Buttons ────────────────────────────────────────────── */
.btn-primary,
.btn-primary:visited,
input[type="submit"],
button[type="submit"] {
  background: #16a34a !important;
  border-color: #16a34a !important;
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  padding: 10px 24px !important;
  transition: background .18s, box-shadow .18s !important;
}
.btn-primary:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: #15803d !important;
  border-color: #15803d !important;
  box-shadow: 0 4px 14px rgba(22,163,74,.3) !important;
}
.btn-default,
.btn-secondary {
  border-radius: 8px !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
}

/* ── Links ──────────────────────────────────────────────── */
a { color: #16a34a; }
a:hover { color: #15803d; text-decoration: none; }

/* ── Hero / Banner Area ─────────────────────────────────── */
.hero-unit,
.jumbotron,
.page-header.banner,
#page-header {
  background: linear-gradient(135deg, #0d0d0d 0%, #001a0a 100%) !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  padding: 48px 0 !important;
}
.hero-unit h1,
.jumbotron h1,
.jumbotron .h1,
#page-header h1 {
  color: #ffffff !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 800 !important;
}
.hero-unit p,
.jumbotron p,
#page-header p {
  color: rgba(255,255,255,.78) !important;
}

/* ── Search Bar ─────────────────────────────────────────── */
.search-bar input[type="text"],
#search-box input {
  border-radius: 8px !important;
  border: 1.5px solid #e2e8f0 !important;
  padding: 12px 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .9375rem !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.search-bar input:focus,
#search-box input:focus {
  border-color: #16a34a !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.12) !important;
  outline: none !important;
}
.search-bar .btn,
#search-box .btn {
  background: #16a34a !important;
  border-color: #16a34a !important;
  color: #fff !important;
  border-radius: 8px !important;
}

/* ── Cards / Panels ─────────────────────────────────────── */
.card,
.panel,
.well {
  border-radius: 10px !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}
.card-header,
.panel-heading {
  background: #f8fafc !important;
  border-bottom: 1px solid #e2e8f0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  color: #0d0d0d !important;
}

/* ── Form Fields ────────────────────────────────────────── */
input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea {
  border-radius: 8px !important;
  border: 1.5px solid #e2e8f0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: .9375rem !important;
  color: #1e293b !important;
  transition: border-color .15s, box-shadow .15s !important;
}
input:focus,
select:focus,
textarea:focus {
  border-color: #16a34a !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,.12) !important;
  outline: none !important;
}

/* ── Ticket Status Badges ───────────────────────────────── */
.label-success,
.badge-success,
.status-open    { background-color: #16a34a !important; }
.label-danger,
.badge-danger,
.status-closed  { background-color: #dc2626 !important; }
.label-warning,
.badge-warning,
.status-pending { background-color: #d97706 !important; }
.label-info,
.badge-info     { background-color: #0ea5e9 !important; }

/* ── Breadcrumb ─────────────────────────────────────────── */
.breadcrumb {
  background: transparent !important;
  font-size: .875rem !important;
  padding: 8px 0 !important;
}
.breadcrumb > li + li::before { color: #64748b !important; }

/* ── Tables ─────────────────────────────────────────────── */
.table thead th {
  background: #f8fafc !important;
  color: #0d0d0d !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  font-size: .8rem !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  border-bottom: 2px solid #e2e8f0 !important;
}
.table-striped tbody tr:nth-of-type(odd) {
  background: #f8fafc !important;
}

/* ── Footer ─────────────────────────────────────────────── */
footer,
#footer,
.site-footer-ost {
  background: #0d0d0d !important;
  color: rgba(255,255,255,.5) !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  font-size: .8125rem !important;
  padding: 24px 0 !important;
  text-align: center !important;
}
footer a,
#footer a {
  color: rgba(255,255,255,.5) !important;
}
footer a:hover,
#footer a:hover {
  color: #16a34a !important;
}

/* ── Alert Bars ─────────────────────────────────────────── */
.alert-info    { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.alert-success { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.alert-danger  { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.alert-warning { background: #fffbeb; border-color: #fde68a; color: #92400e; }
