/* Brumas & Cenarios — Modern UI layer
   Visual-only overrides. Keeps existing Bootstrap markup and application hooks intact. */
:root {
  --br-primary: #087ca7;
  --br-primary-dark: #075f80;
  --br-primary-soft: #eaf7fb;
  --br-accent: #14a3b8;
  --br-bg: #f4f7f9;
  --br-surface: #ffffff;
  --br-surface-alt: #f8fafb;
  --br-text: #17242c;
  --br-muted: #6b7d87;
  --br-border: #e3eaee;
  --br-radius: 14px;
  --br-radius-sm: 10px;
  --br-shadow: 0 8px 28px rgba(24, 54, 69, .07);
  --br-shadow-lg: 0 16px 48px rgba(24, 54, 69, .12);
}

html { background: var(--br-bg); }
body {
  background: var(--br-bg);
  color: var(--br-text);
  font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--br-primary); }
a:hover { color: var(--br-primary-dark); }
h1,h2,h3,h4,h5,h6 { color: var(--br-text); }

/* App shell */
.header {
  height: 72px;
  padding: 0 24px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--br-border);
  box-shadow: 0 3px 18px rgba(25,55,70,.05);
  backdrop-filter: blur(12px);
}
.header .logo { width: 276px; }
.header .logo img { max-height: 36px; }
.header .logo span { color: var(--br-text); font-size: 18px; letter-spacing: -.3px; }
.header .toggle-sidebar-btn { color: var(--br-primary); font-size: 28px; padding-left: 8px; }
.header .search-bar { padding: 7px 18px; }
.header .search-form input {
  height: 40px;
  padding: 8px 40px 8px 13px;
  border: 1px solid var(--br-border);
  border-radius: 10px;
  background: var(--br-surface-alt);
  color: var(--br-text);
  box-shadow: none;
}
.header .search-form input:focus,
.header .search-form input:hover { border-color: #9bcbd9; box-shadow: 0 0 0 3px rgba(8,124,167,.08); background:#fff; }
.header .search-form button i { color: var(--br-primary); }
.header-nav .nav-icon, .header-nav .nav-profile { color: #40535e; }
.header-nav .nav-icon { margin-right: 18px; }
.header-nav .nav-profile img { width: 38px; height: 38px; object-fit: cover; border: 2px solid #e6f2f6; }
.header-nav .profile { border: 1px solid var(--br-border); border-radius: 12px; box-shadow: var(--br-shadow-lg); overflow:hidden; }
.header-nav .profile .dropdown-item:hover { background: var(--br-primary-soft); color: var(--br-primary-dark); }
.header-nav .badge-number { background: var(--br-primary) !important; }
.selectyearcurrent { width: 108px; }
.selectyearcurrent .form-select { border-radius: 10px; border-color: var(--br-border); background-color: var(--br-surface-alt); }

.sidebar {
  top: 72px;
  width: 288px;
  padding: 18px 14px 28px;
  background: var(--br-surface);
  border-right: 1px solid var(--br-border);
  box-shadow: 6px 0 24px rgba(28,57,72,.035);
  scrollbar-color: #c5d3da transparent;
}
.sidebar-nav .nav-item { margin-bottom: 3px; }
.sidebar-nav .nav-heading { color: #93a2aa; letter-spacing: .08em; margin-top: 18px; }
.sidebar-nav .nav-link {
  min-height: 44px;
  padding: 11px 13px;
  border-radius: 10px;
  color: var(--br-primary-dark);
  background: var(--br-primary-soft);
  font-size: 14px;
  font-weight: 700;
}
.sidebar-nav .nav-link i { color: var(--br-primary); font-size: 17px; }
.sidebar-nav .nav-link.collapsed { color: #536670; background: transparent; font-weight: 600; }
.sidebar-nav .nav-link.collapsed i { color: #81929b; }
.sidebar-nav .nav-link:hover { color: var(--br-primary-dark); background: #f0f8fa; transform: translateX(2px); }
.sidebar-nav .nav-content { padding: 5px 0 5px 10px; }
.sidebar-nav .nav-content a { padding: 9px 10px 9px 38px; border-radius: 8px; color: #647680; font-weight: 600; }
.sidebar-nav .nav-content a:hover, .sidebar-nav .nav-content a.active { color: var(--br-primary); background: #f7fbfc; }
.sidebar-nav .nav-content a.active i { background: var(--br-primary); }

#main { margin-top: 72px; padding: 28px 30px 36px; }
@media (min-width:1200px) { #main, #footer { margin-left: 288px; } .toggle-sidebar #main, .toggle-sidebar #footer { margin-left:0; } .toggle-sidebar .sidebar { left:-288px; } }
.pagetitle { margin-bottom: 20px; }
.pagetitle h1 { color: var(--br-text); font-size: 26px; font-weight: 750; letter-spacing: -.6px; }
.breadcrumb { margin-top: 5px; margin-bottom: 0; color: var(--br-muted); font-weight: 500; }
.breadcrumb a { color: #71858f; }
.breadcrumb .active { color: #9aa8af; font-weight: 500; }

/* Surfaces */
.card {
  margin-bottom: 24px;
  border: 1px solid var(--br-border);
  border-radius: var(--br-radius);
  background: var(--br-surface);
  box-shadow: var(--br-shadow);
  overflow: visible;
}
.card-header, .card-footer { border-color: var(--br-border); background: var(--br-surface); }
.card-header:first-child { border-radius: var(--br-radius) var(--br-radius) 0 0; }
.card-title { padding: 20px 0 14px; color: var(--br-text); font-size: 17px; font-weight: 700; letter-spacing: -.2px; }
.card-title span { color: var(--br-muted); }
.card-body { padding: 0 22px 22px; }
.dashboard .info-card { padding-bottom: 0; }
.dashboard .info-card h6 { color: var(--br-text); font-size: 26px; font-weight: 750; }
.dashboard .info-card .card-icon { width: 54px; height: 54px; font-size: 26px; background: var(--br-primary-soft); color: var(--br-primary); }
.dashboard .sales-card .card-icon, .dashboard .customers-card .card-icon, .dashboard .revenue-card .card-icon { background: var(--br-primary-soft); color: var(--br-primary); }

/* Buttons */
.btn { border-radius: 9px; font-weight: 650; padding: .5rem .85rem; transition: all .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-sm { border-radius: 8px; padding: .35rem .65rem; }
.btn-primary { background: var(--br-primary); border-color: var(--br-primary); box-shadow: 0 3px 10px rgba(8,124,167,.15); }
.btn-primary:hover, .btn-primary:focus { background: var(--br-primary-dark); border-color: var(--br-primary-dark); }
.btn-secondary { background:#667780; border-color:#667780; }
.btn-success { background:#18875e; border-color:#18875e; }
.btn-danger { background:#d64d59; border-color:#d64d59; }
.btn-warning { background:#e8a839; border-color:#e8a839; color:#263238; }
.btn-info { background:#dff4f8; border-color:#ccebf1; color:#08738e; }
.btn-usedvehicle { border-radius: 10px; background:#e5f7ed; color:#13704e; }
.btn-usedvehicle.used { background:#e5f5fb; color:var(--br-primary); }

/* Forms */
.form-control, .form-select, .select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border-color: #d8e2e7;
  border-radius: 9px;
  background-color: #fff;
  color: var(--br-text);
  min-height: 40px;
}
.form-control:focus, .form-select:focus {
  border-color: #82bdcf;
  box-shadow: 0 0 0 .2rem rgba(8,124,167,.10);
}
.form-label, .form-group label { color:#4d606a; font-weight:650; font-size:13px; }
.form-control::placeholder { color:#a2afb5; }
.form-control-solid { background:#f7f9fa; border-color:#e4eaed; }
.input-group-text { background:#f4f7f8; border-color:#d8e2e7; color:#657780; }
.form-check-input:checked { background-color:var(--br-primary); border-color:var(--br-primary); }
/*.select2-container--default .select2-selection--single { padding-top:5px; }*/
.select2-dropdown { border-color:var(--br-border); border-radius:9px; box-shadow:var(--br-shadow); overflow:hidden; }

/* Tables and data lists */
.table-responsive { border-radius: 11px; }
.table { --bs-table-bg: transparent; color:#354851; margin-bottom:0; }
.table > :not(caption) > * > * { padding: .8rem .75rem; border-bottom-color:#e9eef1; vertical-align:middle; }
.table thead th, .table-custom th, .table-primary th {
  background:#f3f7f8 !important;
  color:#52656f !important;
  border-color:#e1e9ed !important;
  font-size:12px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.035em;
  white-space:nowrap;
}
.table tbody tr { transition:background .15s ease; }
.table tbody tr:hover { background:#f8fbfc; }
.badge { border-radius: 7px; padding:.4em .6em; font-weight:700; }
.pagination { gap:4px; }
.page-link { border-radius:8px !important; border-color:var(--br-border); color:var(--br-primary); }
.page-item.active .page-link { background:var(--br-primary); border-color:var(--br-primary); }

/* Tabs, lists, accordions */
.nav-tabs-bordered { border-bottom:1px solid var(--br-border); gap:4px; }
.nav-tabs-bordered .nav-link { color:#667983; border-radius:8px 8px 0 0; font-size:13px; font-weight:700; padding:.7rem .9rem; }
.nav-tabs-bordered .nav-link.active { color:var(--br-primary); border-bottom:2px solid var(--br-primary); }
.nav-pills .nav-link { border-radius:9px; color:#5c707a; }
.nav-pills .nav-link.active { background:var(--br-primary); }
.list-group-item { border-color:var(--br-border); }
.accordion-item { border-color:var(--br-border); }
.accordion-button:not(.collapsed) { color:var(--br-primary-dark); background:var(--br-primary-soft); }

/* Modals, dropdowns, alerts */
.modal-content { border:0; border-radius:16px; box-shadow:0 24px 70px rgba(15,38,50,.22); overflow:hidden; }
.modal-header { border-bottom:1px solid var(--br-border); padding:17px 20px; }
.modal-title { color:var(--br-text); font-weight:750; }
.modal-body { padding:20px; }
.modal-footer { border-top:1px solid var(--br-border); padding:14px 20px; }
.dropdown-menu { border:1px solid var(--br-border); border-radius:11px; box-shadow:var(--br-shadow-lg); }
.dropdown-item { border-radius:7px; }
.alert { border-radius:10px; border-width:1px; }

/* Dashboard */
.dashboard .activity .activity-item .activite-label { color:#82929a; }
.dashboard .activity .activity-item .activity-content { color:#435760; }
.dashboard .activity .activity-item .activity-badge { color:var(--br-primary) !important; }
#reportsChart { margin-top:6px; }

/* Footer */
.footer { padding:22px 30px; color:#84949c; border-top:1px solid var(--br-border); font-size:13px; }
.footer .copyright strong { color:#5c6e77; }
.back-to-top { background:var(--br-primary); border-radius:10px; box-shadow:0 6px 18px rgba(8,124,167,.25); }
.back-to-top:hover { background:var(--br-primary-dark); }

/* Login */
.login { position:relative; }
.login::before {
  content:""; position:fixed; inset:0; z-index:-1;
  background: radial-gradient(circle at 15% 20%, rgba(20,163,184,.13), transparent 28%),
              radial-gradient(circle at 85% 75%, rgba(8,124,167,.11), transparent 30%),
              linear-gradient(145deg,#f8fbfc 0%,#eef5f7 100%);
}
.login .logo img { max-height:92px; filter:drop-shadow(0 8px 18px rgba(18,58,76,.10)); }
.login .card { width:100%; max-width:430px; border:1px solid rgba(219,231,236,.9); border-radius:18px; box-shadow:0 22px 65px rgba(24,54,69,.12); }
.login .card-body { padding:10px 30px 30px; }
.login .card-title { color:var(--br-text); font-weight:800; letter-spacing:-.4px; }
.login .small { color:var(--br-muted); }
.login .btn-primary { min-height:44px; }

/* Existing custom overlays/cards */
.action-overlay__backdrop { background:rgba(14,29,36,.72); backdrop-filter:blur(5px); }
.action-overlay__content { border-radius:18px; }
.action-card { border-radius:16px; box-shadow:var(--br-shadow-lg); }
.action-card__icon i { color:var(--br-primary); }
.vehicle-card { border-color:var(--br-border) !important; border-radius:14px !important; box-shadow:var(--br-shadow); }

/* Responsive refinements */
@media (max-width:1199px) {
  .header { height:64px; padding:0 16px; }
  .header .search-bar { top:64px; padding:14px 16px; border-top:1px solid var(--br-border); }
  .header .search-bar-show { top:64px; }
  .sidebar { top:64px; left:-288px; }
  .toggle-sidebar .sidebar { left:0; }
  #main { margin-top:64px; padding:22px 18px 30px; }
}
@media (max-width:767px) {
  #main { padding:18px 12px 26px; }
  .pagetitle h1 { font-size:22px; }
  .card { margin-bottom:16px; border-radius:12px; }
  .card-body { padding:0 15px 17px; }
  .card-title { padding-top:16px; }
  .header-nav .nav-icon { margin-right:12px; }
  .header .search-bar { flex-direction:column; align-items:stretch; gap:8px; }
  .header .search-bar .selectyearcurrent, .header .search-form { width:100% !important; margin:0 !important; }
  .header .search-form .listsearch { min-width:100%; }
  .table > :not(caption) > * > * { padding:.65rem .55rem; }
  .modal-dialog { margin:.6rem; }
  .footer { padding:18px 14px; }
}
@media (max-width:480px) {
  .header { padding:0 10px; }
  .header .toggle-sidebar-btn { padding-left:2px; }
  .header-nav .nav-profile img { width:34px; height:34px; }
  .btn { padding:.46rem .7rem; }
}

/* Sidebar account area - V3 */
.sidebar {
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.sidebar-nav {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding-bottom:14px;
}
.sidebar-user-panel {
  flex:0 0 auto;
  margin:0 12px 12px;
  padding-top:12px;
  border-top:1px solid var(--br-border);
  background:#fff;
}
.sidebar-quick-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-bottom:10px;
}
.sidebar-action-btn {
  position:relative;
  min-width:0;
  min-height:58px;
  padding:8px 4px;
  border:1px solid var(--br-border);
  border-radius:10px;
  background:#f7fafb;
  color:#52666f;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  font-size:10px;
  font-weight:700;
  line-height:1.1;
  text-decoration:none;
  transition:.18s ease;
}
.sidebar-action-btn i { font-size:18px; color:var(--br-primary); }
.sidebar-action-btn:hover { background:var(--br-primary-soft); border-color:#b9dce6; color:var(--br-primary-dark); }
.sidebar-action-btn.used { background:#edf8f2; border-color:#c5e6d3; }
.sidebar-action-icon { position:relative; display:inline-flex; }
.sidebar-notification-badge {
  position:absolute;
  top:-7px;
  right:-11px;
  min-width:17px;
  height:17px;
  padding:2px 4px;
  border-radius:9px;
  font-size:9px;
  line-height:13px;
}
.sidebar-profile {
  padding:10px;
  border:1px solid var(--br-border);
  border-radius:12px;
  background:#f8fafb;
}
.sidebar-profile-info { display:flex; align-items:center; min-width:0; gap:9px; }
.sidebar-profile-avatar { width:36px; height:36px; flex:0 0 36px; border-radius:50%; object-fit:cover; }
.sidebar-profile-text { min-width:0; display:flex; flex-direction:column; }
.sidebar-profile-text strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--br-text); font-size:12px; }
.sidebar-profile-text span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--br-muted); font-size:10px; }
.sidebar-profile-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:9px; }
.sidebar-profile-actions a {
  display:flex; align-items:center; justify-content:center; gap:5px;
  padding:7px 5px; border-radius:8px; color:#60747d; background:#fff;
  border:1px solid var(--br-border); font-size:11px; font-weight:700; text-decoration:none;
}
.sidebar-profile-actions a:hover { color:var(--br-primary); border-color:#b9dce6; background:var(--br-primary-soft); }
.sidebar-profile-actions .bt-leaveaccount:hover { color:#b42318; border-color:#f0c6c2; background:#fff5f4; }
@media (max-width:1199px) {
  .sidebar { height:calc(100vh - 64px); }
  .sidebar-user-panel { padding-bottom:max(0px, env(safe-area-inset-bottom)); }
}

/* Header quick actions + sidebar account only - V3.1 */
.header-quick-action .nav-link {
  position:relative;
  width:40px;
  height:40px;
  padding:0;
  margin:0 2px;
  border:0;
  border-radius:10px;
  background:transparent;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#52666f;
}
.header-quick-action button.nav-link { cursor:pointer; }
.header-quick-action .nav-link:hover { background:var(--br-primary-soft); color:var(--br-primary); }
.header-quick-action .nav-link i { font-size:20px; }
.header-quick-action .btn-usedvehicle.used { background:#edf8f2; }
.header-notification-badge {
  position:absolute;
  top:1px;
  right:0;
  min-width:17px;
  height:17px;
  padding:2px 4px;
  border-radius:9px;
  font-size:9px;
  line-height:13px;
}
.sidebar-user-panel { padding-top:12px; }
@media (max-width:575px) {
  .header-quick-action .nav-link { width:34px; height:34px; margin:0; }
  .header-quick-action .nav-link i { font-size:18px; }
  .header-nav .nav-icon { margin-right:2px; }
}
