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

:root {
  --tracker-bg: #0d1117;
  --tracker-bg2: #151b24;
  --tracker-surface: rgba(17, 23, 34, 0.9);
  --tracker-surface-strong: #121824;
  --tracker-surface-soft: #1a2231;
  --tracker-border: rgba(148, 163, 184, 0.2);
  --tracker-text: #ecf2ff;
  --tracker-text-strong: #f8fbff;
  --tracker-muted: #95a3ba;
  --tracker-accent: #39a0ff;
  --tracker-accent-strong: #1d74db;
  --tracker-accent-soft: rgba(57, 160, 255, 0.14);
  --tracker-green: #2dd4bf;
  --tracker-yellow: #f7b84b;
  --tracker-red: #ff6b6b;
  --tracker-shadow: 0 20px 55px rgba(2, 6, 23, 0.38);
}

html,
body {
  min-height: 100%;
}

body.tracker-theme {
  font-family: 'Barlow', sans-serif;
  color: var(--tracker-text);
  background:
    radial-gradient(circle at top left, rgba(57, 160, 255, 0.18), transparent 28%),
    radial-gradient(circle at top right, rgba(45, 212, 191, 0.14), transparent 24%),
    linear-gradient(180deg, #08111d 0%, #0d1117 42%, #111827 100%);
}

body.tracker-theme,
body.tracker-theme .container,
body.tracker-theme .container-fluid,
body.tracker-theme .content-frame,
body.tracker-theme .content-area {
  color: var(--tracker-text);
}

body.tracker-theme a {
  color: #7dc4ff;
}

body.tracker-theme a:hover {
  color: #a7d9ff;
}

body.tracker-theme .card,
body.tracker-theme .modal-content,
body.tracker-theme .jobs-card,
body.tracker-theme .jobm-card,
body.tracker-theme .ww-tile,
body.tracker-theme .stat,
body.tracker-theme .catalog-result,
body.tracker-theme .sidebar,
body.tracker-theme .table-responsive,
body.tracker-theme .invoice-card,
body.tracker-theme .section-title {
  background: var(--tracker-surface) !important;
  color: var(--tracker-text) !important;
  border: 1px solid var(--tracker-border) !important;
  box-shadow: var(--tracker-shadow);
  backdrop-filter: blur(16px);
}

body.tracker-theme .card-title,
body.tracker-theme h1,
body.tracker-theme h2,
body.tracker-theme h3,
body.tracker-theme h4,
body.tracker-theme h5,
body.tracker-theme h6,
body.tracker-theme .jobs-title,
body.tracker-theme .jobm-title,
body.tracker-theme .ww-tile h5,
body.tracker-theme .navbar-brand {
  color: var(--tracker-text-strong) !important;
}

body.tracker-theme .text-muted,
body.tracker-theme .jobs-sub,
body.tracker-theme .jobm-sub,
body.tracker-theme .jobs-address,
body.tracker-theme .ww-tile p,
body.tracker-theme .label,
body.tracker-theme small,
body.tracker-theme .small {
  color: var(--tracker-muted) !important;
}

body.tracker-theme .navbar,
body.tracker-theme .navbar.bg-dark,
body.tracker-theme .topbar {
  background: rgba(17, 23, 34, 0.92) !important;
  border-bottom: 1px solid var(--tracker-border) !important;
  box-shadow: var(--tracker-shadow);
  backdrop-filter: blur(16px);
}

body.tracker-theme .sidebar,
body.tracker-theme .mobile-sidebar,
body.tracker-theme #desktopSidebar {
  background: rgba(11, 18, 28, 0.96) !important;
}

body.tracker-theme .side-title,
body.tracker-theme .sidebar h5,
body.tracker-theme .sidebar .section-title {
  color: var(--tracker-muted) !important;
  font-family: 'Barlow Condensed', sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.tracker-theme .side-link,
body.tracker-theme .sidebar .nav-link,
body.tracker-theme .mobile-sidebar .nav-link {
  color: #cfd8e3 !important;
}

body.tracker-theme .side-link:hover,
body.tracker-theme .sidebar .nav-link:hover,
body.tracker-theme .mobile-sidebar .nav-link:hover {
  background: #1a2231 !important;
  color: #fff !important;
}

body.tracker-theme .side-link.active,
body.tracker-theme .sidebar .nav-link.active,
body.tracker-theme .mobile-sidebar .nav-link.active {
  background: rgba(57, 160, 255, 0.16) !important;
  color: #fff !important;
  border: 1px solid rgba(57, 160, 255, 0.22);
}

body.tracker-theme .btn {
  border-radius: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

body.tracker-theme .btn-primary {
  background: linear-gradient(135deg, var(--tracker-accent) 0%, var(--tracker-accent-strong) 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
}

body.tracker-theme .btn-primary:hover,
body.tracker-theme .btn-primary:focus {
  background: linear-gradient(135deg, #4aafff 0%, #2a84ee 100%) !important;
  color: #fff !important;
}

body.tracker-theme .btn-secondary,
body.tracker-theme .btn-outline-light,
body.tracker-theme .btn-light {
  background: var(--tracker-surface-soft) !important;
  border-color: var(--tracker-border) !important;
  color: var(--tracker-text) !important;
}

body.tracker-theme .btn-secondary:hover,
body.tracker-theme .btn-outline-light:hover,
body.tracker-theme .btn-light:hover {
  background: rgba(57, 160, 255, 0.12) !important;
  border-color: rgba(57, 160, 255, 0.2) !important;
  color: #fff !important;
}

body.tracker-theme .btn-success {
  background: linear-gradient(135deg, #14b8a6 0%, #2dd4bf 100%) !important;
  border-color: transparent !important;
}

body.tracker-theme .btn-danger,
body.tracker-theme .btn-outline-danger,
body.tracker-theme button.danger {
  background: rgba(255, 107, 107, 0.14) !important;
  border-color: rgba(255, 107, 107, 0.24) !important;
  color: #ffd3d3 !important;
}

body.tracker-theme .form-control,
body.tracker-theme .form-select,
body.tracker-theme input[type="text"],
body.tracker-theme input[type="number"],
body.tracker-theme input[type="password"],
body.tracker-theme input[type="email"],
body.tracker-theme input[type="tel"],
body.tracker-theme input[type="date"],
body.tracker-theme input[type="datetime-local"],
body.tracker-theme textarea,
body.tracker-theme select {
  background: var(--tracker-surface-soft) !important;
  color: var(--tracker-text) !important;
  border: 1px solid var(--tracker-border) !important;
  border-radius: 12px !important;
}

body.tracker-theme .form-control::placeholder,
body.tracker-theme input::placeholder,
body.tracker-theme textarea::placeholder {
  color: var(--tracker-muted) !important;
  opacity: 1 !important;
}

body.tracker-theme select option,
body.tracker-theme select optgroup,
body.tracker-theme .form-select option,
body.tracker-theme datalist option {
  background: var(--tracker-surface-strong) !important;
  color: var(--tracker-text) !important;
}

body.tracker-theme select:disabled,
body.tracker-theme input:disabled,
body.tracker-theme textarea:disabled,
body.tracker-theme .form-control:disabled,
body.tracker-theme .form-select:disabled {
  background: rgba(26, 34, 49, 0.72) !important;
  color: var(--tracker-muted) !important;
  opacity: 1 !important;
}

body.tracker-theme .form-control:focus,
body.tracker-theme .form-select:focus,
body.tracker-theme input:focus,
body.tracker-theme textarea:focus,
body.tracker-theme select:focus {
  color: var(--tracker-text) !important;
  background: var(--tracker-surface-soft) !important;
  border-color: rgba(57, 160, 255, 0.4) !important;
  box-shadow: 0 0 0 0.2rem rgba(57, 160, 255, 0.18) !important;
}

body.tracker-theme .table,
body.tracker-theme .table th,
body.tracker-theme .table td {
  color: var(--tracker-text);
  border-color: var(--tracker-border) !important;
}

body.tracker-theme .table {
  --bs-table-color: var(--tracker-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--tracker-border);
  --bs-table-striped-color: var(--tracker-text);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
  --bs-table-hover-color: var(--tracker-text);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.03);
}

body.tracker-theme .table thead th,
body.tracker-theme .thead-light th,
body.tracker-theme .table-light th {
  background: var(--tracker-surface-strong) !important;
  color: var(--tracker-muted) !important;
  border-color: var(--tracker-border) !important;
}

body.tracker-theme .table-hover tbody tr:hover,
body.tracker-theme tr:hover td {
  background: rgba(255, 255, 255, 0.03) !important;
}

body.tracker-theme .badge,
body.tracker-theme .rounded-pill {
  background: var(--tracker-accent-soft) !important;
  color: var(--tracker-accent) !important;
  border: 1px solid rgba(57, 160, 255, 0.22);
}

body.tracker-theme .alert-success {
  background: rgba(45, 212, 191, 0.12) !important;
  border-color: rgba(45, 212, 191, 0.22) !important;
  color: #baffee !important;
}

body.tracker-theme .alert-danger,
body.tracker-theme .alert-warning {
  color: #ffe5a8 !important;
  background: rgba(247, 184, 75, 0.12) !important;
  border-color: rgba(247, 184, 75, 0.22) !important;
}

body.tracker-theme .alert-danger {
  color: #ffd6d6 !important;
  background: rgba(255, 107, 107, 0.12) !important;
  border-color: rgba(255, 107, 107, 0.22) !important;
}

body.tracker-theme .list-group-item,
body.tracker-theme .dropdown-menu,
body.tracker-theme .dataTables_wrapper .dataTables_length select,
body.tracker-theme .dataTables_wrapper .dataTables_filter input,
body.tracker-theme .dataTables_wrapper .dataTables_info,
body.tracker-theme .dataTables_wrapper .dataTables_paginate .paginate_button,
body.tracker-theme code,
body.tracker-theme pre {
  background: var(--tracker-surface) !important;
  color: var(--tracker-text) !important;
  border-color: var(--tracker-border) !important;
}

body.tracker-theme .dropdown-item {
  color: var(--tracker-text) !important;
}

body.tracker-theme .dropdown-item:hover,
body.tracker-theme .dropdown-item:focus {
  background: rgba(57, 160, 255, 0.12) !important;
  color: #fff !important;
}

body.tracker-theme .list-group-item {
  border-color: var(--tracker-border) !important;
}

body.tracker-theme .table-striped tbody tr:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.02) !important;
}

body.tracker-theme .badge.bg-success,
body.tracker-theme .badge.badge-success {
  background: rgba(45, 212, 191, 0.14) !important;
  color: #baffee !important;
}

body.tracker-theme .badge.bg-danger,
body.tracker-theme .badge.badge-danger {
  background: rgba(255, 107, 107, 0.14) !important;
  color: #ffd3d3 !important;
}

body.tracker-theme .ww-sep {
  background: linear-gradient(to right, rgba(57, 160, 255, 0.32), rgba(57, 160, 255, 0));
}

body.tracker-theme .ww-tile:hover,
body.tracker-theme .ww-tile:focus {
  box-shadow: 0 0 0 3px rgba(57, 160, 255, 0.14), 0 16px 30px rgba(2, 6, 23, 0.32);
  border-color: rgba(57, 160, 255, 0.34) !important;
}

body.tracker-theme .jobs-badge,
body.tracker-theme .badge-tag {
  background: rgba(57, 160, 255, 0.12) !important;
  color: var(--tracker-accent) !important;
}

body.tracker-theme .container,
body.tracker-theme .container-fluid {
  position: relative;
}

body.tracker-theme .tracker-auth-card {
  min-width: 320px;
  max-width: 420px;
  width: 100%;
}
