@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;500;600;700;800&display=swap');
:root {
  --csi-navy: #06162b;
  --csi-navy-2: #0b213d;
  --csi-card: rgba(12, 34, 62, 0.88);
  --csi-card-border: rgba(52, 211, 253, 0.16);
  --csi-cyan: #1fc7f3;
  --csi-cyan-2: #22d3ee;
  --csi-muted: #9fb2c9;
  --csi-text: #edf7ff;
}

body.csi-app,
body.csi-auth-bg {
  font-family: "Roboto Condensed", "Arial Narrow", Arial, Helvetica, sans-serif !important;
  background:
    radial-gradient(circle at top right, rgba(31, 199, 243, 0.16), transparent 32rem),
    linear-gradient(135deg, #06162b 0%, #071d37 45%, #03101f 100%);
  color: var(--csi-text);
}

.text-cyan { color: var(--csi-cyan) !important; }

/* Sidebar */
.csi-sidenav {
  background: linear-gradient(180deg, rgba(5, 20, 40, 0.98), rgba(3, 14, 28, 0.98)) !important;
  border-right: 1px solid rgba(31, 199, 243, 0.14);
  box-shadow: 10px 0 35px rgba(0, 0, 0, 0.22);
}

.csi-sidenav .sidenav-header {
  height: 86px;
  padding: 1rem;
}

.csi-sidenav .navbar-brand-img {
  max-height: 58px;
  width: auto;
}

.csi-sidenav .nav-link {
  color: #c8d8ec !important;
  border-radius: 0.75rem;
  margin: 0.15rem 0.8rem;
  transition: all 0.2s ease;
}

.csi-sidenav .nav-link:hover,
.csi-sidenav .nav-link.active {
  color: #ffffff !important;
  background: linear-gradient(90deg, rgba(31, 199, 243, 0.92), rgba(34, 211, 238, 0.72));
  box-shadow: 0 10px 25px rgba(31, 199, 243, 0.22);
}

.csi-sidenav .nav-link.active i,
.csi-sidenav .nav-link:hover i {
  color: white !important;
}

.csi-sidebar-card {
  margin: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  color: #dff8ff;
  background: rgba(31, 199, 243, 0.08);
  border: 1px solid rgba(31, 199, 243, 0.18);
}

.csi-sidebar-card i {
  color: var(--csi-cyan);
  margin-right: 0.4rem;
}

.csi-sidebar-card strong,
.csi-sidebar-card span {
  display: block;
}

/* Topbar */
.csi-topbar {
  background: rgba(5, 18, 35, 0.94) !important;
  border-color: rgba(31, 199, 243, 0.12) !important;
  backdrop-filter: blur(12px);
}

.csi-notification-badge {
  position: absolute;
  top: 0.2rem;
  right: -0.15rem;
  min-width: 1.2rem;
  height: 1.2rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #1fc7f3, #38bdf8);
  color: white;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.2rem;
  text-align: center;
  box-shadow: 0 0 0 3px rgba(5, 18, 35, 1);
}

.csi-notification-menu,
.csi-profile-menu {
  background: rgba(8, 28, 52, 0.98);
  border: 1px solid rgba(31, 199, 243, 0.14);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.38);
}

.csi-notification-item {
  background: transparent !important;
  border-color: rgba(148, 163, 184, 0.12) !important;
}

.csi-notification-item:hover {
  background: rgba(31, 199, 243, 0.09) !important;
}

.csi-icon-bubble {
  background: rgba(31, 199, 243, 0.14);
  color: var(--csi-cyan);
}

.csi-avatar img {
  border: 2px solid rgba(31, 199, 243, 0.55);
}

@media (min-width: 992px) {
  .csi-notifications:hover > .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

/* Dashboard */
.csi-dashboard {
  min-height: calc(100vh - 73px);
}

.csi-page-title {
  font-size: 1.8rem;
  font-weight: 800;
  color: #ffffff;
}

.csi-page-subtitle {
  color: var(--csi-muted);
}

.csi-period-switch {
  gap: 0.35rem;
  padding: 0.35rem;
  border-radius: 1rem;
  background: rgba(10, 32, 58, 0.92);
  border: 1px solid rgba(31, 199, 243, 0.16);
}

.csi-period-switch a {
  color: #b9c9dc;
  padding: 0.65rem 1.25rem;
  border-radius: 0.75rem;
  font-weight: 700;
}

.csi-period-switch a:hover,
.csi-period-switch a.active {
  color: #052034;
  text-decoration: none;
  background: linear-gradient(135deg, #42d9ff, #15aee0);
  box-shadow: 0 10px 25px rgba(31, 199, 243, 0.28);
}

.csi-card {
  border-radius: 1.1rem;
  background: linear-gradient(180deg, rgba(12, 36, 66, 0.93), rgba(8, 27, 50, 0.92));
  border: 1px solid var(--csi-card-border);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.20);
  color: var(--csi-text);
}

.csi-stat-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem;
  min-height: 128px;
}

.csi-stat-card span,
.csi-stat-card small {
  display: block;
  color: var(--csi-muted);
}

.csi-stat-card strong {
  display: block;
  color: white;
  font-size: 2rem;
  line-height: 1.1;
}

.csi-stat-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--csi-cyan);
  background: radial-gradient(circle, rgba(31, 199, 243, 0.22), rgba(31, 199, 243, 0.06));
  font-size: 1.4rem;
}

.csi-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.25rem 0.75rem;
}

.csi-card-header h3 {
  color: white;
  font-size: 1rem;
  font-weight: 800;
  margin-bottom: 0.25rem;
}

.csi-card-header p {
  color: var(--csi-muted);
  margin: 0;
  font-size: 0.86rem;
}

.csi-chip {
  color: #dff8ff;
  background: rgba(31, 199, 243, 0.10);
  border: 1px solid rgba(31, 199, 243, 0.18);
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  white-space: nowrap;
}

.csi-chart-wrap {
  height: 320px;
  padding: 0.25rem 1.15rem 1.15rem;
}

.csi-chart-wrap-sm {
  height: 320px;
}

.csi-donut-grid {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 1fr;
  gap: 1rem;
  padding: 0.5rem 1.25rem 1.25rem;
  align-items: center;
}

.csi-donut-wrap {
  height: 235px;
}

.csi-mini-metrics {
  display: grid;
  gap: 0.7rem;
}

.csi-mini-metrics div {
  padding: 0.7rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(148, 163, 184, 0.08);
}

.csi-mini-metrics strong,
.csi-mini-metrics span {
  display: block;
}

.csi-mini-metrics strong {
  color: #ffffff;
  font-size: 1.2rem;
}

.csi-mini-metrics span {
  color: var(--csi-muted);
  font-size: 0.78rem;
}

.csi-activity-list {
  padding: 0.4rem 1.25rem 1.25rem;
}

.csi-activity-item {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.10);
}

.csi-activity-item:last-child {
  border-bottom: 0;
}

.csi-activity-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--csi-cyan);
  background: rgba(31, 199, 243, 0.13);
}

.csi-activity-icon.csi-warning {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.12);
}

.csi-activity-item div {
  flex: 1;
}

.csi-activity-item strong,
.csi-activity-item small {
  display: block;
}

.csi-activity-item strong {
  color: #ffffff;
  font-size: 0.9rem;
}

.csi-activity-item small,
.csi-activity-item em {
  color: var(--csi-muted);
  font-size: 0.76rem;
  font-style: normal;
}

.csi-table {
  color: #d7e6f6;
  margin-bottom: 0;
}

.csi-table thead th {
  color: #90a8c2;
  border-color: rgba(148, 163, 184, 0.14);
}

.csi-table td {
  border-color: rgba(148, 163, 184, 0.10);
}

.csi-status {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-weight: 700;
}

.csi-status:before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--csi-cyan);
}

.csi-status-done:before { background: #22c55e; }
.csi-status-scheduled:before { background: #1fc7f3; }
.csi-status-cancelled:before { background: #ef4444; }
.csi-status-no_show:before { background: #f59e0b; }

.csi-ranking {
  padding: 0.4rem 1.25rem 1.25rem;
}

.csi-ranking-row {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.10);
}

.csi-ranking-row > span {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(31, 199, 243, 0.13);
  color: var(--csi-cyan);
  font-weight: 800;
}

.csi-ranking-row div {
  flex: 1;
}

.csi-ranking-row strong,
.csi-ranking-row small {
  display: block;
}

.csi-ranking-row strong {
  color: #ffffff;
}

.csi-ranking-row small {
  color: var(--csi-muted);
}

.csi-ranking-row em {
  color: var(--csi-cyan);
  font-style: normal;
  font-weight: 800;
}

.csi-tip {
  margin: 0 1.25rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.9rem;
  color: #dff8ff;
  background: rgba(31, 199, 243, 0.09);
  border: 1px solid rgba(31, 199, 243, 0.15);
}

.csi-link {
  color: var(--csi-cyan);
  font-weight: 700;
}

/* Auth */
.csi-auth-bg {
  min-height: 100vh;
}

.csi-auth-card {
  background: rgba(8, 28, 52, 0.92);
  border: 1px solid rgba(31, 199, 243, 0.18);
  border-radius: 1.25rem;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

.csi-auth-logo {
  max-width: 320px;
  width: 85%;
  height: auto;
}

.csi-auth-title {
  color: #ffffff;
  font-weight: 800;
}

@media (max-width: 991.98px) {
  .csi-donut-grid {
    grid-template-columns: 1fr;
  }

  .csi-period-switch {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    width: 100%;
  }

  .csi-period-switch a {
    text-align: center;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* =========================================================
   CSI global theme refinements — dark/light + all pages
   ========================================================= */
html[data-csi-theme="dark"] {
  --csi-bg: #06162b;
  --csi-bg-2: #071d37;
  --csi-surface: rgba(12, 34, 62, 0.92);
  --csi-surface-2: rgba(8, 27, 50, 0.94);
  --csi-border: rgba(52, 211, 253, 0.16);
  --csi-input: rgba(5, 18, 35, 0.86);
  --csi-input-text: #edf7ff;
  --csi-table-hover: rgba(31, 199, 243, 0.08);
}

html[data-csi-theme="light"] {
  --csi-navy: #f4faff;
  --csi-navy-2: #eaf6ff;
  --csi-card: rgba(255, 255, 255, 0.96);
  --csi-card-border: rgba(14, 165, 233, 0.22);
  --csi-cyan: #0284c7;
  --csi-cyan-2: #06b6d4;
  --csi-muted: #5f7287;
  --csi-text: #10263f;
  --csi-bg: #f4faff;
  --csi-bg-2: #eaf6ff;
  --csi-surface: rgba(255, 255, 255, 0.96);
  --csi-surface-2: rgba(242, 249, 255, 0.98);
  --csi-border: rgba(14, 165, 233, 0.22);
  --csi-input: rgba(255, 255, 255, 0.96);
  --csi-input-text: #10263f;
  --csi-table-hover: rgba(14, 165, 233, 0.08);
}

html[data-csi-theme="light"] body.csi-app,
html[data-csi-theme="light"] body.csi-auth-bg {
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.18), transparent 32rem),
    linear-gradient(135deg, #f4faff 0%, #eaf6ff 45%, #ffffff 100%);
  color: var(--csi-text);
}

body.csi-app .main-content {
  min-height: 100vh;
}

body.csi-app .header.bg-primary,
body.csi-app .header.bg-gradient-primary {
  background:
    radial-gradient(circle at top right, rgba(31, 199, 243, 0.18), transparent 34rem),
    linear-gradient(135deg, rgba(6, 22, 43, 0.96), rgba(8, 36, 66, 0.94)) !important;
  border-bottom: 1px solid var(--csi-border);
}

html[data-csi-theme="light"] body.csi-app .header.bg-primary,
html[data-csi-theme="light"] body.csi-app .header.bg-gradient-primary {
  background:
    radial-gradient(circle at top right, rgba(14, 165, 233, 0.20), transparent 34rem),
    linear-gradient(135deg, #eaf6ff, #ffffff) !important;
}

body.csi-app .card,
body.csi-app .modal-content,
body.csi-app .popover,
body.csi-app .list-group-item,
body.csi-app .dropdown-menu {
  color: var(--csi-text);
  background: linear-gradient(180deg, var(--csi-surface), var(--csi-surface-2));
  border-color: var(--csi-border);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.20);
}

html[data-csi-theme="light"] body.csi-app .card,
html[data-csi-theme="light"] body.csi-app .modal-content,
html[data-csi-theme="light"] body.csi-app .popover,
html[data-csi-theme="light"] body.csi-app .list-group-item,
html[data-csi-theme="light"] body.csi-app .dropdown-menu {
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

body.csi-app .card-header,
body.csi-app .card-footer,
body.csi-app .modal-header,
body.csi-app .modal-footer {
  background: transparent;
  border-color: rgba(148, 163, 184, 0.12);
}

body.csi-app .card-title,
body.csi-app h1,
body.csi-app h2,
body.csi-app h3,
body.csi-app h4,
body.csi-app h5,
body.csi-app h6,
body.csi-app .modal-title,
body.csi-app .table td,
body.csi-app .table th {
  color: var(--csi-text);
}

body.csi-app .text-muted,
body.csi-app .form-control-label,
body.csi-app label,
body.csi-app .description,
body.csi-app p {
  color: var(--csi-muted) !important;
}

body.csi-app .form-control,
body.csi-app .custom-select,
body.csi-app select.form-control,
body.csi-app textarea.form-control {
  background: var(--csi-input) !important;
  color: var(--csi-input-text) !important;
  border-color: var(--csi-border) !important;
}

body.csi-app .form-control:focus,
body.csi-app select.form-control:focus,
body.csi-app textarea.form-control:focus {
  border-color: var(--csi-cyan) !important;
  box-shadow: 0 0 0 0.15rem rgba(31, 199, 243, 0.22) !important;
}

body.csi-app .form-control::placeholder {
  color: var(--csi-muted);
}

body.csi-app .table,
body.csi-app .table thead th,
body.csi-app .table tbody td {
  color: var(--csi-text);
  border-color: rgba(148, 163, 184, 0.14);
}

body.csi-app .table-hover tbody tr:hover,
body.csi-app .table tbody tr:hover {
  background: var(--csi-table-hover);
}

body.csi-app .btn-primary,
body.csi-app .btn-success,
body.csi-app .btn-info {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--csi-cyan-2), var(--csi-cyan)) !important;
  box-shadow: 0 10px 25px rgba(31, 199, 243, 0.22);
}

body.csi-app .btn-neutral,
body.csi-app .btn-secondary,
body.csi-app .btn-outline-primary,
body.csi-app .btn-outline-info {
  color: var(--csi-text) !important;
  background: rgba(31, 199, 243, 0.08) !important;
  border-color: var(--csi-border) !important;
}

body.csi-app .alert-light,
body.csi-app .alert-secondary {
  color: var(--csi-text);
  background: rgba(31, 199, 243, 0.08);
  border-color: var(--csi-border);
}

/* Topbar, notifications, and theme button */
.csi-topbar {
  position: sticky;
  top: 0;
  z-index: 2100;
}

.csi-topbar-title {
  color: var(--csi-muted) !important;
}

.csi-theme-toggle {
  border: 1px solid rgba(31, 199, 243, 0.18) !important;
  background: rgba(31, 199, 243, 0.10) !important;
  color: var(--csi-text) !important;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-grid !important;
  place-items: center;
  padding: 0 !important;
  cursor: pointer;
}

.csi-theme-toggle:hover {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--csi-cyan-2), var(--csi-cyan)) !important;
}

.csi-notifications,
.csi-notifications .dropdown-menu,
.csi-notification-menu {
  z-index: 3000 !important;
}

.csi-notification-menu {
  min-width: 420px;
  overflow: visible !important;
  transform: translate3d(0, 0, 0);
}

.csi-notification-head h6,
.csi-notification-item h4,
.csi-profile-menu h6,
.csi-profile-menu .dropdown-item {
  color: var(--csi-text) !important;
}

.csi-notification-menu:before {
  content: "";
  position: absolute;
  top: -8px;
  right: 28px;
  width: 16px;
  height: 16px;
  transform: rotate(45deg);
  background: var(--csi-surface);
  border-left: 1px solid var(--csi-border);
  border-top: 1px solid var(--csi-border);
}

@media (max-width: 575.98px) {
  .csi-notification-menu {
    min-width: calc(100vw - 2rem);
    right: -4.5rem !important;
  }
}

/* FullCalendar styled to match the selected theme */
body.csi-app #calendar {
  background: var(--csi-surface) !important;
  color: var(--csi-text) !important;
  min-height: 650px;
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid var(--csi-border);
}

body.csi-app .fc {
  color: var(--csi-text);
}

body.csi-app .fc .fc-toolbar-title {
  color: var(--csi-text);
  font-weight: 800;
}

body.csi-app .fc-theme-standard .fc-scrollgrid,
body.csi-app .fc-theme-standard td,
body.csi-app .fc-theme-standard th {
  border-color: rgba(148, 163, 184, 0.15);
}

body.csi-app .fc .fc-col-header-cell-cushion,
body.csi-app .fc .fc-daygrid-day-number,
body.csi-app .fc .fc-list-day-text,
body.csi-app .fc .fc-list-day-side-text {
  color: var(--csi-text);
}

body.csi-app .fc .fc-daygrid-day.fc-day-today,
body.csi-app .fc .fc-timegrid-col.fc-day-today {
  background: rgba(31, 199, 243, 0.10) !important;
}

body.csi-app .fc .fc-button-primary {
  background: rgba(31, 199, 243, 0.12) !important;
  border-color: var(--csi-border) !important;
  color: var(--csi-text) !important;
  box-shadow: none !important;
}

body.csi-app .fc .fc-button-primary:hover,
body.csi-app .fc .fc-button-primary:focus,
body.csi-app .fc .fc-button-primary:not(:disabled).fc-button-active {
  background: linear-gradient(135deg, var(--csi-cyan-2), var(--csi-cyan)) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

body.csi-app .fc .fc-event,
body.csi-app .fc .fc-daygrid-event {
  border-color: rgba(31, 199, 243, 0.48) !important;
  background: rgba(31, 199, 243, 0.18) !important;
  color: var(--csi-text) !important;
  border-radius: 0.5rem;
  cursor: pointer;
}

body.csi-app .fc .fc-list,
body.csi-app .fc .fc-list-table td,
body.csi-app .fc .fc-list-day-cushion {
  background: transparent !important;
  color: var(--csi-text) !important;
  border-color: rgba(148, 163, 184, 0.15) !important;
}

body.csi-app .fc .fc-list-event:hover td {
  background: var(--csi-table-hover) !important;
}

/* Keeps old Argon pages visually aligned without rewriting every template. */
body.csi-app .navbar-vertical .navbar-nav .nav-link,
body.csi-app .breadcrumb-item,
body.csi-app .breadcrumb-item a {
  color: var(--csi-muted) !important;
}

body.csi-app .modal {
  z-index: 2500;
}

body.csi-app .modal-backdrop {
  z-index: 2490;
}

/* =========================================================
   CSI v1.2 — stronger light/dark coverage + filters/builder
   ========================================================= */
html[data-csi-theme="dark"] body.csi-app {
  background: radial-gradient(circle at top right, rgba(31,199,243,.16), transparent 32rem), linear-gradient(135deg, #06162b 0%, #071d37 45%, #03101f 100%) !important;
}

html[data-csi-theme="light"] body.csi-app {
  background: linear-gradient(135deg, #f8fbff 0%, #eef7ff 52%, #ffffff 100%) !important;
}

html[data-csi-theme="light"] .csi-sidenav {
  background: linear-gradient(180deg, #ffffff, #eff8ff) !important;
  border-right: 1px solid rgba(14, 165, 233, .18);
  box-shadow: 10px 0 28px rgba(15,23,42,.06);
}

html[data-csi-theme="light"] .csi-sidenav .nav-link {
  color: #334155 !important;
}

html[data-csi-theme="light"] .csi-sidenav .navbar-heading,
html[data-csi-theme="light"] .csi-sidebar-card span {
  color: #64748b !important;
}

html[data-csi-theme="light"] .csi-topbar {
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid rgba(14,165,233,.18) !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}

html[data-csi-theme="light"] .csi-notification-badge {
  box-shadow: 0 0 0 3px #ffffff;
}

html[data-csi-theme="light"] .csi-notification-menu:before {
  background: #ffffff;
}

html[data-csi-theme="light"] body.csi-app .text-white,
html[data-csi-theme="light"] body.csi-app .csi-page-title,
html[data-csi-theme="light"] body.csi-app .csi-card-header h3,
html[data-csi-theme="light"] body.csi-app .csi-stat-card strong {
  color: #0f172a !important;
}

html[data-csi-theme="light"] body.csi-app .table thead th {
  color: #475569 !important;
  background: rgba(14,165,233,.04);
}

html[data-csi-theme="dark"] body.csi-app .table thead th {
  background: rgba(31,199,243,.04);
}

body.csi-app .csi-filter-card {
  padding: 1rem;
}

.csi-dashboard-filters {
  display: grid;
  grid-template-columns: minmax(260px, 340px) 1fr;
  gap: 1rem;
  align-items: end;
}

.csi-filter-group label {
  display: block;
  margin-bottom: .45rem;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--csi-muted) !important;
}

.csi-filter-range .form-control {
  width: 165px;
}

@media (max-width: 991.98px) {
  .csi-dashboard-filters { grid-template-columns: 1fr; }
  .csi-filter-range .form-control { width: 100%; max-width: 180px; }
}

body.csi-app .nav-tabs.csi-tabs,
body.csi-app .nav-tabs {
  border-bottom-color: var(--csi-border) !important;
}

body.csi-app .nav-tabs .nav-link {
  color: var(--csi-muted) !important;
  border-color: transparent !important;
}

body.csi-app .nav-tabs .nav-link.active {
  color: var(--csi-text) !important;
  background: rgba(31,199,243,.10) !important;
  border-color: var(--csi-border) var(--csi-border) transparent !important;
}

.csi-builder-section {
  border: 1px solid var(--csi-border);
  background: rgba(31,199,243,.045);
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
}

.csi-builder-section-head {
  display: flex;
  gap: .75rem;
  align-items: end;
  padding-bottom: .85rem;
  border-bottom: 1px solid rgba(148,163,184,.14);
  margin-bottom: .85rem;
}

.csi-builder-field {
  border: 1px dashed rgba(148,163,184,.25);
  border-radius: .85rem;
  padding: .85rem;
  margin-bottom: .75rem;
  background: rgba(0,0,0,.05);
}

html[data-csi-theme="light"] .csi-builder-field {
  background: rgba(14,165,233,.035);
}

.csi-builder-form label,
.csi-builder-section label {
  font-size: .78rem;
  font-weight: 700;
  color: var(--csi-muted) !important;
}

/* FullCalendar remaining pieces that often stay white */
body.csi-app .fc .fc-timegrid-slot,
body.csi-app .fc .fc-timegrid-axis,
body.csi-app .fc .fc-list-empty,
body.csi-app .fc .fc-popover,
body.csi-app .fc .fc-popover-header,
body.csi-app .fc .fc-popover-body {
  background: var(--csi-surface) !important;
  color: var(--csi-text) !important;
  border-color: var(--csi-border) !important;
}

body.csi-app .fc .fc-daygrid-day-frame:hover {
  background: rgba(31,199,243,.06);
}

body.csi-app .fc .fc-day-other .fc-daygrid-day-top {
  opacity: .52;
}

html[data-csi-theme="light"] body.csi-app .fc .fc-event,
html[data-csi-theme="light"] body.csi-app .fc .fc-daygrid-event {
  color: #075985 !important;
  background: rgba(14,165,233,.14) !important;
}

/* Notification dropdown must always float over calendars/modals/top content. */
.csi-topbar,
.csi-notifications,
.csi-notification-menu,
.navbar .dropdown-menu.csi-notification-menu {
  z-index: 5000 !important;
}

/* =========================================================
   CSI v1.3 — stronger global theme coverage + attachments
   ========================================================= */
html[data-csi-theme="dark"] {
  color-scheme: dark;
  --csi-page-bg: #051426;
  --csi-panel: rgba(8, 26, 49, .96);
  --csi-panel-soft: rgba(11, 35, 64, .92);
  --csi-text-strong: #ffffff;
  --csi-shadow: 0 18px 55px rgba(0,0,0,.28);
}

html[data-csi-theme="light"] {
  color-scheme: light;
  --csi-page-bg: #f7fbff;
  --csi-panel: rgba(255,255,255,.98);
  --csi-panel-soft: rgba(241,248,255,.98);
  --csi-text-strong: #0f172a;
  --csi-shadow: 0 18px 45px rgba(15,23,42,.08);
}

html[data-csi-theme="dark"] body.csi-app .main-content,
html[data-csi-theme="dark"] body.csi-app .container-fluid,
html[data-csi-theme="dark"] body.csi-app .content,
html[data-csi-theme="dark"] body.csi-app .page-content {
  color: var(--csi-text);
}

html[data-csi-theme="light"] body.csi-app .main-content,
html[data-csi-theme="light"] body.csi-app .container-fluid,
html[data-csi-theme="light"] body.csi-app .content,
html[data-csi-theme="light"] body.csi-app .page-content {
  color: var(--csi-text);
}

body.csi-app .csi-card,
body.csi-app .card,
body.csi-app .modal-content,
body.csi-app .dropdown-menu,
body.csi-app .list-group-item,
body.csi-app .fc-scrollgrid,
body.csi-app .fc-list {
  background: linear-gradient(180deg, var(--csi-panel), var(--csi-panel-soft)) !important;
  border-color: var(--csi-border) !important;
  color: var(--csi-text) !important;
  box-shadow: var(--csi-shadow);
}

body.csi-app .card-body,
body.csi-app .modal-body,
body.csi-app .tab-content,
body.csi-app .table-responsive {
  color: var(--csi-text) !important;
}

body.csi-app .navbar-collapse,
body.csi-app .navbar-nav,
body.csi-app .nav-item.dropdown {
  overflow: visible !important;
}

body.csi-app .csi-notification-menu {
  position: absolute !important;
  z-index: 9999 !important;
}

body.csi-app .dropdown-menu.show.csi-notification-menu {
  display: block !important;
}

html[data-csi-theme="light"] body.csi-app .btn-outline-secondary,
html[data-csi-theme="light"] body.csi-app .btn-outline-danger,
html[data-csi-theme="light"] body.csi-app .btn-outline-warning,
html[data-csi-theme="light"] body.csi-app .btn-outline-info,
html[data-csi-theme="light"] body.csi-app .btn-outline-primary {
  background: #ffffff !important;
}

html[data-csi-theme="dark"] body.csi-app .btn-outline-secondary,
html[data-csi-theme="dark"] body.csi-app .btn-outline-danger,
html[data-csi-theme="dark"] body.csi-app .btn-outline-warning,
html[data-csi-theme="dark"] body.csi-app .btn-outline-info,
html[data-csi-theme="dark"] body.csi-app .btn-outline-primary {
  background: rgba(31,199,243,.06) !important;
}

body.csi-app .badge,
body.csi-app .custom-control-label,
body.csi-app .custom-file-label,
body.csi-app .input-group-text {
  border-color: var(--csi-border) !important;
}

body.csi-app .input-group-text,
body.csi-app .custom-file-label {
  background: var(--csi-input) !important;
  color: var(--csi-input-text) !important;
}

body.csi-app input[type="file"] {
  color: var(--csi-text) !important;
}

body.csi-app .alert,
body.csi-app .callout {
  border-radius: .9rem;
}

html[data-csi-theme="light"] body.csi-app .alert-info,
html[data-csi-theme="light"] body.csi-app .alert-light {
  color: #075985 !important;
  background: rgba(14,165,233,.10) !important;
  border-color: rgba(14,165,233,.22) !important;
}

html[data-csi-theme="dark"] body.csi-app .alert-info,
html[data-csi-theme="dark"] body.csi-app .alert-light {
  color: #dff8ff !important;
  background: rgba(31,199,243,.10) !important;
  border-color: rgba(31,199,243,.22) !important;
}

body.csi-app .csi-attachment-form {
  padding: 1rem;
  border: 1px dashed var(--csi-border);
  border-radius: 1rem;
  background: rgba(31,199,243,.045);
}

.csi-attachments-list {
  display: grid;
  gap: .8rem;
}

.csi-attachment-item {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .9rem;
  border: 1px solid var(--csi-border);
  border-radius: 1rem;
  background: rgba(31,199,243,.04);
}

html[data-csi-theme="light"] .csi-attachment-item {
  background: rgba(14,165,233,.045);
}

.csi-attachment-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(31,199,243,.12);
  color: var(--csi-cyan);
  font-size: 1.25rem;
}

.csi-attachment-main {
  flex: 1;
  min-width: 0;
}

.csi-attachment-main strong,
.csi-attachment-main span,
.csi-attachment-main small {
  display: block;
}

.csi-attachment-main strong {
  color: var(--csi-text-strong);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.csi-attachment-main span,
.csi-attachment-main small {
  color: var(--csi-muted);
}

.csi-attachment-actions {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 767.98px) {
  .csi-attachment-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .csi-attachment-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* Builder improvements */
.csi-builder-section,
.csi-builder-field,
.csi-filter-card,
.csi-period-switch,
.csi-tip,
.csi-sidebar-card {
  box-shadow: none;
}

html[data-csi-theme="light"] .csi-builder-section,
html[data-csi-theme="light"] .csi-filter-card,
html[data-csi-theme="light"] .csi-period-switch,
html[data-csi-theme="light"] .csi-tip,
html[data-csi-theme="light"] .csi-sidebar-card {
  background: #ffffff !important;
  border-color: rgba(14,165,233,.18) !important;
}

html[data-csi-theme="dark"] .csi-builder-section,
html[data-csi-theme="dark"] .csi-filter-card,
html[data-csi-theme="dark"] .csi-period-switch,
html[data-csi-theme="dark"] .csi-tip,
html[data-csi-theme="dark"] .csi-sidebar-card {
  background: rgba(8,26,49,.78) !important;
  border-color: rgba(31,199,243,.18) !important;
}

/* =========================================================
   CSI v1.4 — stronger CSI identity, reliable light/dark text,
   clinical-sheet history and anti-Argon visual polish
   ========================================================= */
html[data-csi-theme="light"] {
  --csi-text: #102033;
  --csi-text-strong: #07182b;
  --csi-muted: #52657a;
  --csi-panel: #ffffff;
  --csi-panel-soft: #f5fbff;
  --csi-border: rgba(2, 132, 199, .22);
  --csi-input: #ffffff;
  --csi-input-text: #102033;
  --csi-page-bg: #f7fbff;
}

html[data-csi-theme="dark"] {
  --csi-text: #eaf6ff;
  --csi-text-strong: #ffffff;
  --csi-muted: #a7b9cc;
  --csi-panel: rgba(7, 24, 45, .97);
  --csi-panel-soft: rgba(10, 33, 61, .95);
  --csi-border: rgba(45, 212, 253, .18);
  --csi-input: rgba(5, 18, 35, .94);
  --csi-input-text: #f3fbff;
  --csi-page-bg: #051426;
}

body.csi-app,
body.csi-auth-bg,
body.csi-app .main-content,
body.csi-app .container-fluid,
body.csi-app .card,
body.csi-app .card-body,
body.csi-app .card-header,
body.csi-app .modal-content,
body.csi-app .dropdown-menu,
body.csi-app .list-group-item,
body.csi-app .tab-content,
body.csi-app .table,
body.csi-app .table td,
body.csi-app .table th {
  color: var(--csi-text) !important;
}

body.csi-app h1,
body.csi-app h2,
body.csi-app h3,
body.csi-app h4,
body.csi-app h5,
body.csi-app h6,
body.csi-app strong,
body.csi-app .font-weight-bold,
body.csi-app .card-title,
body.csi-app .modal-title,
body.csi-app .navbar .media-body span,
body.csi-app .dropdown-header h6 {
  color: var(--csi-text-strong) !important;
}

body.csi-app .text-muted,
body.csi-app small,
body.csi-app .small,
body.csi-app .description,
body.csi-app .breadcrumb-item,
body.csi-app .breadcrumb-item a,
body.csi-app .form-text,
body.csi-app .helptext {
  color: var(--csi-muted) !important;
}

html[data-csi-theme="light"] body.csi-app .text-white,
html[data-csi-theme="light"] body.csi-app .navbar-dark .navbar-nav .nav-link,
html[data-csi-theme="light"] body.csi-app .navbar-dark .navbar-text {
  color: var(--csi-text-strong) !important;
}

html[data-csi-theme="dark"] body.csi-app .text-dark,
html[data-csi-theme="dark"] body.csi-app .text-black,
html[data-csi-theme="dark"] body.csi-app .table .text-dark {
  color: var(--csi-text-strong) !important;
}

body.csi-app .bg-white,
body.csi-app .bg-secondary,
body.csi-app .bg-gradient-secondary,
body.csi-app .jumbotron,
body.csi-app .well,
body.csi-app .fc-popover,
body.csi-app .fc-popover-header,
body.csi-app .fc-popover-body {
  background: linear-gradient(180deg, var(--csi-panel), var(--csi-panel-soft)) !important;
  color: var(--csi-text) !important;
  border-color: var(--csi-border) !important;
}

html[data-csi-theme="light"] .csi-sidenav .sidenav-header,
html[data-csi-theme="dark"] .csi-sidenav .sidenav-header {
  position: relative;
  min-height: 92px;
}

.csi-sidenav .sidenav-header:after {
  content: "";
  position: absolute;
  inset: 10px 12px;
  border-radius: 18px;
  border: 1px solid rgba(31, 199, 243, .18);
  background: radial-gradient(circle at 20% 10%, rgba(31, 199, 243, .18), transparent 44%), rgba(31, 199, 243, .045);
  pointer-events: none;
}

.csi-sidenav .navbar-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.csi-sidenav .navbar-brand-img,
.csi-auth-logo {
  filter: drop-shadow(0 12px 22px rgba(0, 184, 255, .22));
}

html[data-csi-theme="light"] .csi-sidenav .navbar-brand-img,
html[data-csi-theme="light"] .csi-auth-logo {
  filter: drop-shadow(0 10px 20px rgba(2, 132, 199, .18));
}

.csi-topbar-title:before {
  content: "";
  display: inline-block;
  width: .65rem;
  height: .65rem;
  margin-right: .5rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--csi-cyan-2), var(--csi-cyan));
  box-shadow: 0 0 0 .22rem rgba(31, 199, 243, .12);
}

body.csi-app .form-control,
body.csi-app .custom-select,
body.csi-app select,
body.csi-app textarea,
body.csi-app input[type="date"],
body.csi-app input[type="number"],
body.csi-app input[type="text"],
body.csi-app input[type="email"],
body.csi-app input[type="password"] {
  background: var(--csi-input) !important;
  color: var(--csi-input-text) !important;
  border: 1px solid var(--csi-border) !important;
}

html[data-csi-theme="light"] body.csi-app .form-control:disabled,
html[data-csi-theme="light"] body.csi-app .form-control[readonly] {
  background: #eef7ff !important;
  color: #52657a !important;
}

html[data-csi-theme="dark"] body.csi-app .form-control:disabled,
html[data-csi-theme="dark"] body.csi-app .form-control[readonly] {
  background: rgba(3, 14, 28, .78) !important;
  color: #9fb2c9 !important;
}

body.csi-app .dropdown-item,
body.csi-app .dropdown-menu a,
body.csi-app .list-group-item-action {
  color: var(--csi-text) !important;
}

body.csi-app .dropdown-item:hover,
body.csi-app .dropdown-item:focus,
body.csi-app .list-group-item-action:hover,
body.csi-app .list-group-item-action:focus {
  color: var(--csi-text-strong) !important;
  background: rgba(31, 199, 243, .10) !important;
}

body.csi-app .btn:not(.btn-primary):not(.btn-info):not(.btn-success):not(.btn-danger):not(.btn-warning) {
  color: var(--csi-text) !important;
}

body.csi-app .btn-danger,
body.csi-app .btn-warning,
body.csi-app .badge-danger,
body.csi-app .badge-warning {
  color: #ffffff !important;
}

body.csi-app .alert-danger {
  color: #fff1f2 !important;
  background: rgba(225, 29, 72, .16) !important;
  border-color: rgba(225, 29, 72, .30) !important;
}

html[data-csi-theme="light"] body.csi-app .alert-danger {
  color: #9f1239 !important;
  background: #fff1f2 !important;
  border-color: #fecdd3 !important;
}

body.csi-app .alert-warning {
  color: #fff7ed !important;
  background: rgba(245, 158, 11, .16) !important;
  border-color: rgba(245, 158, 11, .30) !important;
}

html[data-csi-theme="light"] body.csi-app .alert-warning {
  color: #92400e !important;
  background: #fffbeb !important;
  border-color: #fde68a !important;
}

/* Clinical-sheet audit/history UI */
.csi-sheet-field {
  padding: 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(148, 163, 184, .14);
  background: rgba(31, 199, 243, .035);
}

html[data-csi-theme="light"] .csi-sheet-field {
  background: rgba(14, 165, 233, .035);
}

.csi-sheet-field-locked {
  border-style: dashed;
  background: linear-gradient(180deg, rgba(31,199,243,.075), rgba(31,199,243,.035));
}

.csi-history-badge {
  box-shadow: 0 8px 18px rgba(31, 199, 243, .16);
}

.csi-observation-timeline {
  display: grid;
  gap: .8rem;
}

.csi-observation-entry {
  position: relative;
  padding: .9rem .9rem .9rem 1.05rem;
  border-radius: .9rem;
  border: 1px solid var(--csi-border);
  background: rgba(0, 0, 0, .08);
}

html[data-csi-theme="light"] .csi-observation-entry {
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .05);
}

.csi-observation-entry:before {
  content: "";
  position: absolute;
  left: -.38rem;
  top: 1rem;
  width: .75rem;
  height: .75rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--csi-cyan-2), var(--csi-cyan));
  box-shadow: 0 0 0 .22rem rgba(31, 199, 243, .12);
}

.csi-observation-legacy {
  border-style: dashed;
}

.csi-observation-meta {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
  align-items: baseline;
  margin-bottom: .35rem;
}

.csi-observation-meta strong {
  color: var(--csi-text-strong) !important;
}

.csi-observation-meta span,
.csi-observation-value {
  color: var(--csi-text) !important;
}

.csi-observation-meta span {
  opacity: .76;
  font-size: .82rem;
}

.csi-observation-value {
  line-height: 1.55;
}

.csi-builder-history-switch {
  padding-top: .35rem;
}

.csi-builder-history-switch .custom-control-label {
  color: var(--csi-text-strong) !important;
  font-weight: 700;
}

/* FullCalendar and tables: final color fixes */
body.csi-app .fc .fc-daygrid-more-link,
body.csi-app .fc .fc-event-title,
body.csi-app .fc .fc-event-time,
body.csi-app .fc .fc-list-event-title,
body.csi-app .fc .fc-list-event-time {
  color: var(--csi-text-strong) !important;
}

html[data-csi-theme="light"] body.csi-app .fc .fc-day-today .fc-daygrid-day-number,
html[data-csi-theme="light"] body.csi-app .fc .fc-col-header-cell-cushion,
html[data-csi-theme="light"] body.csi-app .fc .fc-daygrid-day-number {
  color: #0f172a !important;
}

html[data-csi-theme="dark"] body.csi-app .fc .fc-day-today .fc-daygrid-day-number,
html[data-csi-theme="dark"] body.csi-app .fc .fc-col-header-cell-cushion,
html[data-csi-theme="dark"] body.csi-app .fc .fc-daygrid-day-number {
  color: #f8fbff !important;
}

body.csi-app .table tbody tr:nth-child(even) {
  background: rgba(31, 199, 243, .025);
}

html[data-csi-theme="light"] body.csi-app .table tbody tr:nth-child(even) {
  background: rgba(14, 165, 233, .035);
}

/* Reduced Argon feel: softer panels and CSI-blue focus states */
body.csi-app .card,
body.csi-app .csi-card,
body.csi-app .modal-content,
body.csi-app .dropdown-menu {
  border-radius: 1.15rem !important;
}

body.csi-app a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--csi-cyan) !important;
}

body.csi-app a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
  color: var(--csi-cyan-2) !important;
}

/* Instituto Cachear — melhorias finais de tema, pesquisa, aniversários e fichas */
html[data-csi-theme="light"] body.csi-app,
html[data-csi-theme="light"] body.csi-app .main-content,
html[data-csi-theme="light"] body.csi-app .container-fluid {
  color: #172033 !important;
}

html[data-csi-theme="dark"] body.csi-app,
html[data-csi-theme="dark"] body.csi-app .main-content,
html[data-csi-theme="dark"] body.csi-app .container-fluid {
  color: #eaf5ff !important;
}

body.csi-app .text-white,
body.csi-app .text-default,
body.csi-app .text-dark,
body.csi-app .card-title,
body.csi-app h1,
body.csi-app h2,
body.csi-app h3,
body.csi-app h4,
body.csi-app h5,
body.csi-app h6,
body.csi-app label,
body.csi-app .form-control-label,
body.csi-app .table th,
body.csi-app .table td,
body.csi-app .dropdown-item,
body.csi-app .list-group-item,
body.csi-app .custom-control-label {
  color: var(--csi-text-strong) !important;
}

body.csi-app .text-muted,
body.csi-app small,
body.csi-app .csi-page-subtitle,
body.csi-app .csi-card-header p,
body.csi-app .table thead th {
  color: var(--csi-text-muted) !important;
}

body.csi-app .csi-sidenav {
  background:
    radial-gradient(circle at 25% 0%, rgba(31, 199, 243, .20), transparent 32%),
    linear-gradient(180deg, #061426 0%, #081a2f 46%, #05101f 100%) !important;
  border-right: 1px solid rgba(31, 199, 243, .25) !important;
}

body.csi-app .csi-brand {
  padding: 1.1rem 1.35rem !important;
  border-bottom: 1px solid rgba(31, 199, 243, .16);
}

body.csi-app .csi-brand img {
  max-height: 64px !important;
  object-fit: contain;
  filter: drop-shadow(0 12px 26px rgba(31, 199, 243, .25));
}

body.csi-app .navbar-vertical .navbar-nav .nav-link {
  border-radius: 14px;
  margin: 3px 12px;
}

body.csi-app .navbar-vertical .navbar-nav .nav-link.active,
body.csi-app .navbar-vertical .navbar-nav .nav-link:hover {
  background: linear-gradient(135deg, rgba(31, 199, 243, .20), rgba(20, 184, 166, .10)) !important;
  box-shadow: inset 3px 0 0 var(--csi-cyan), 0 12px 28px rgba(31, 199, 243, .08);
}

body.csi-app .csi-topbar {
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--csi-border) !important;
  box-shadow: 0 16px 36px rgba(2, 12, 27, .18);
}

.csi-top-search {
  min-width: 360px;
  max-width: 520px;
  flex: 1 1 360px;
  align-items: center;
  gap: .55rem;
  border: 1px solid var(--csi-border);
  background: var(--csi-surface-soft);
  border-radius: 999px;
  padding: .45rem .85rem;
}

.csi-top-search i {
  color: var(--csi-cyan) !important;
}

.csi-top-search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--csi-text-strong) !important;
  background: transparent !important;
  font-size: .88rem;
}

.csi-top-search input::placeholder {
  color: var(--csi-text-muted) !important;
}

.csi-birthday-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: .8rem;
  padding: 0 1.5rem 1.5rem;
}

.csi-birthday-item {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .9rem;
  border-radius: 1rem;
  border: 1px solid var(--csi-border);
  background: linear-gradient(135deg, rgba(31, 199, 243, .10), rgba(20, 184, 166, .04));
  text-decoration: none !important;
}

.csi-birthday-item strong,
.csi-birthday-item small {
  display: block;
}

.csi-birthday-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--csi-cyan), var(--csi-cyan-2));
  color: #fff;
  box-shadow: 0 12px 28px rgba(31, 199, 243, .22);
  flex: 0 0 42px;
}

.csi-search-results .list-group-item {
  background: transparent !important;
  border-color: var(--csi-border) !important;
}

.csi-search-results .list-group-item strong,
.csi-search-results .list-group-item small {
  display: block;
}

.csi-age-output {
  font-weight: 700;
}

.csi-field-error {
  border-left: 3px solid #f5365c !important;
}

.csi-code-block {
  padding: 1rem;
  border-radius: 12px;
  border: 1px solid var(--csi-border);
  color: var(--csi-text-strong) !important;
  background: var(--csi-surface-soft) !important;
}

html[data-csi-theme="light"] body.csi-app .btn-outline-white {
  color: #0f172a !important;
  border-color: rgba(15, 23, 42, .28) !important;
}

html[data-csi-theme="dark"] body.csi-app .modal-content,
html[data-csi-theme="dark"] body.csi-app .dropdown-menu,
html[data-csi-theme="dark"] body.csi-app .list-group-item {
  background: #07172b !important;
}

html[data-csi-theme="light"] body.csi-app .modal-content,
html[data-csi-theme="light"] body.csi-app .dropdown-menu,
html[data-csi-theme="light"] body.csi-app .list-group-item {
  background: #ffffff !important;
}

/* CSI v1.5 — correções globais de tema, botões à direita e formulários */
html[data-csi-theme="light"] body.csi-app {
  background: #f4f8fb !important;
  color: #172033 !important;
}
html[data-csi-theme="dark"] body.csi-app {
  background: radial-gradient(circle at top right, rgba(31,199,243,.14), transparent 32rem), linear-gradient(135deg, #06162b 0%, #071d37 45%, #03101f 100%) !important;
  color: #eaf6ff !important;
}

/* Topbar e grupo de botões do lado direito */
body.csi-app .navbar-top .navbar-nav.align-items-center.ml-auto {
  padding: .35rem .5rem;
  border-radius: 999px;
  gap: .15rem;
}
html[data-csi-theme="light"] body.csi-app .navbar-top .navbar-nav.align-items-center.ml-auto {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(14,165,233,.16);
  box-shadow: 0 12px 34px rgba(15,23,42,.08);
}
html[data-csi-theme="dark"] body.csi-app .navbar-top .navbar-nav.align-items-center.ml-auto {
  background: rgba(3,14,28,.62);
  border: 1px solid rgba(31,199,243,.18);
  box-shadow: 0 14px 38px rgba(0,0,0,.22);
}

html[data-csi-theme="light"] body.csi-app .csi-topbar,
html[data-csi-theme="light"] body.csi-app .navbar-top {
  background: rgba(255,255,255,.94) !important;
  color: #172033 !important;
  border-bottom-color: rgba(14,165,233,.16) !important;
}
html[data-csi-theme="dark"] body.csi-app .csi-topbar,
html[data-csi-theme="dark"] body.csi-app .navbar-top {
  background: rgba(5,18,35,.94) !important;
  color: #edf7ff !important;
}
html[data-csi-theme="light"] body.csi-app .csi-topbar .nav-link,
html[data-csi-theme="light"] body.csi-app .csi-topbar .navbar-text,
html[data-csi-theme="light"] body.csi-app .csi-topbar .media-body span {
  color: #172033 !important;
}
html[data-csi-theme="dark"] body.csi-app .csi-topbar .nav-link,
html[data-csi-theme="dark"] body.csi-app .csi-topbar .navbar-text,
html[data-csi-theme="dark"] body.csi-app .csi-topbar .media-body span {
  color: #eaf6ff !important;
}

body.csi-app .csi-theme-toggle,
body.csi-app .csi-notifications > .nav-link,
body.csi-app .csi-avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
}
html[data-csi-theme="light"] body.csi-app .csi-theme-toggle,
html[data-csi-theme="light"] body.csi-app .csi-notifications > .nav-link {
  background: #eef8fc !important;
  color: #05728c !important;
  border: 1px solid rgba(14,165,233,.18);
}
html[data-csi-theme="dark"] body.csi-app .csi-theme-toggle,
html[data-csi-theme="dark"] body.csi-app .csi-notifications > .nav-link {
  background: rgba(31,199,243,.10) !important;
  color: #7be4ff !important;
  border: 1px solid rgba(31,199,243,.22);
}
body.csi-app .csi-theme-toggle:hover,
body.csi-app .csi-notifications > .nav-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(31,199,243,.22);
}

/* Dropdowns sempre acima da página */
body.csi-app .csi-notification-menu,
body.csi-app .csi-profile-menu,
body.csi-app .dropdown-menu {
  z-index: 99999 !important;
}
html[data-csi-theme="light"] body.csi-app .dropdown-menu,
html[data-csi-theme="light"] body.csi-app .csi-notification-menu,
html[data-csi-theme="light"] body.csi-app .csi-profile-menu {
  background: #ffffff !important;
  color: #172033 !important;
  border: 1px solid rgba(14,165,233,.18) !important;
}
html[data-csi-theme="dark"] body.csi-app .dropdown-menu,
html[data-csi-theme="dark"] body.csi-app .csi-notification-menu,
html[data-csi-theme="dark"] body.csi-app .csi-profile-menu {
  background: #071d37 !important;
  color: #edf7ff !important;
  border: 1px solid rgba(31,199,243,.18) !important;
}
html[data-csi-theme="light"] body.csi-app .dropdown-item,
html[data-csi-theme="light"] body.csi-app .list-group-item {
  color: #172033 !important;
}
html[data-csi-theme="dark"] body.csi-app .dropdown-item,
html[data-csi-theme="dark"] body.csi-app .list-group-item {
  color: #eaf6ff !important;
}

/* Cards/tabelas/formulários */
html[data-csi-theme="light"] body.csi-app .card,
html[data-csi-theme="light"] body.csi-app .csi-card,
html[data-csi-theme="light"] body.csi-app .csi-form-card {
  background: #ffffff !important;
  color: #172033 !important;
  border: 1px solid rgba(14,165,233,.14) !important;
  box-shadow: 0 14px 32px rgba(15,23,42,.08) !important;
}
html[data-csi-theme="dark"] body.csi-app .card,
html[data-csi-theme="dark"] body.csi-app .csi-card,
html[data-csi-theme="dark"] body.csi-app .csi-form-card {
  background: linear-gradient(180deg, rgba(12,36,66,.94), rgba(8,27,50,.94)) !important;
  color: #eaf6ff !important;
  border: 1px solid rgba(31,199,243,.17) !important;
}
html[data-csi-theme="light"] body.csi-app .card-header,
html[data-csi-theme="light"] body.csi-app .card-footer {
  background: #ffffff !important;
  color: #172033 !important;
  border-color: rgba(14,165,233,.12) !important;
}
html[data-csi-theme="dark"] body.csi-app .card-header,
html[data-csi-theme="dark"] body.csi-app .card-footer {
  background: rgba(7,29,55,.65) !important;
  color: #edf7ff !important;
  border-color: rgba(31,199,243,.14) !important;
}

html[data-csi-theme="light"] body.csi-app .card h1,
html[data-csi-theme="light"] body.csi-app .card h2,
html[data-csi-theme="light"] body.csi-app .card h3,
html[data-csi-theme="light"] body.csi-app .card h4,
html[data-csi-theme="light"] body.csi-app .csi-card h1,
html[data-csi-theme="light"] body.csi-app .csi-card h2,
html[data-csi-theme="light"] body.csi-app .csi-card h3,
html[data-csi-theme="light"] body.csi-app .csi-card h4,
html[data-csi-theme="light"] body.csi-app label,
html[data-csi-theme="light"] body.csi-app .form-control-label {
  color: #172033 !important;
}
html[data-csi-theme="dark"] body.csi-app .card h1,
html[data-csi-theme="dark"] body.csi-app .card h2,
html[data-csi-theme="dark"] body.csi-app .card h3,
html[data-csi-theme="dark"] body.csi-app .card h4,
html[data-csi-theme="dark"] body.csi-app .csi-card h1,
html[data-csi-theme="dark"] body.csi-app .csi-card h2,
html[data-csi-theme="dark"] body.csi-app .csi-card h3,
html[data-csi-theme="dark"] body.csi-app .csi-card h4,
html[data-csi-theme="dark"] body.csi-app label,
html[data-csi-theme="dark"] body.csi-app .form-control-label {
  color: #edf7ff !important;
}

html[data-csi-theme="light"] body.csi-app .text-muted,
html[data-csi-theme="light"] body.csi-app small,
html[data-csi-theme="light"] body.csi-app .form-text {
  color: #64748b !important;
}
html[data-csi-theme="dark"] body.csi-app .text-muted,
html[data-csi-theme="dark"] body.csi-app small,
html[data-csi-theme="dark"] body.csi-app .form-text {
  color: #a7bad0 !important;
}

html[data-csi-theme="light"] body.csi-app .form-control,
html[data-csi-theme="light"] body.csi-app .custom-select,
html[data-csi-theme="light"] body.csi-app select,
html[data-csi-theme="light"] body.csi-app textarea {
  background: #ffffff !important;
  color: #172033 !important;
  border-color: #cbd5e1 !important;
}
html[data-csi-theme="dark"] body.csi-app .form-control,
html[data-csi-theme="dark"] body.csi-app .custom-select,
html[data-csi-theme="dark"] body.csi-app select,
html[data-csi-theme="dark"] body.csi-app textarea {
  background: #08233f !important;
  color: #edf7ff !important;
  border-color: rgba(31,199,243,.24) !important;
}
body.csi-app .form-control:focus,
body.csi-app select:focus,
body.csi-app textarea:focus {
  border-color: #1fc7f3 !important;
  box-shadow: 0 0 0 .2rem rgba(31,199,243,.16) !important;
}
body.csi-app .has-error .form-control,
body.csi-app .has-error select,
body.csi-app .has-error textarea {
  border-color: #fb7185 !important;
  box-shadow: 0 0 0 .12rem rgba(251,113,133,.16) !important;
}

html[data-csi-theme="light"] body.csi-app .table,
html[data-csi-theme="light"] body.csi-app .table td,
html[data-csi-theme="light"] body.csi-app .table th {
  color: #172033 !important;
  border-color: #e2e8f0 !important;
}
html[data-csi-theme="dark"] body.csi-app .table,
html[data-csi-theme="dark"] body.csi-app .table td,
html[data-csi-theme="dark"] body.csi-app .table th {
  color: #eaf6ff !important;
  border-color: rgba(148,163,184,.16) !important;
}
html[data-csi-theme="light"] body.csi-app .thead-light th,
html[data-csi-theme="light"] body.csi-app thead th {
  background: #eef8fc !important;
  color: #07566b !important;
}
html[data-csi-theme="dark"] body.csi-app .thead-light th,
html[data-csi-theme="dark"] body.csi-app thead th {
  background: #08233f !important;
  color: #a5f3fc !important;
}

/* Marca CSI mais evidente */
body.csi-app .csi-sidenav .sidenav-header:after {
  content: "Instituto Cachear";
  display: block;
  text-align: center;
  margin-top: .35rem;
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #1fc7f3;
}
body.csi-app .header.bg-primary,
body.csi-app .header.bg-gradient-primary {
  background-image: radial-gradient(circle at top right, rgba(31,199,243,.36), transparent 28rem), linear-gradient(135deg, #0789a4, #06162b) !important;
}

.csi-checkbox-grid ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .5rem;
}
.csi-checkbox-grid li {
  padding: .55rem .75rem;
  border-radius: .75rem;
}
html[data-csi-theme="light"] .csi-checkbox-grid li {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
html[data-csi-theme="dark"] .csi-checkbox-grid li {
  background: rgba(31,199,243,.08);
  border: 1px solid rgba(31,199,243,.15);
}

.csi-sort-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  margin-left: .15rem;
  border-radius: 999px;
  font-size: .75rem;
  color: #0789a4 !important;
  background: rgba(31,199,243,.12);
}
.csi-sort-link:hover {
  text-decoration: none;
  background: rgba(31,199,243,.24);
}

.csi-match-reasons {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
}
.csi-match-reasons span {
  display: inline-flex;
  padding: .25rem .55rem;
  border-radius: 999px;
  font-size: .78rem;
  line-height: 1.2;
}
html[data-csi-theme="light"] .csi-match-reasons span {
  color: #07566b !important;
  background: #e0f7ff;
  border: 1px solid rgba(14,165,233,.18);
}
html[data-csi-theme="dark"] .csi-match-reasons span {
  color: #a5f3fc !important;
  background: rgba(31,199,243,.10);
  border: 1px solid rgba(31,199,243,.22);
}

.csi-help-list li { margin-bottom: .4rem; }
.gap-2 { gap: .5rem; }

/* Painéis/abas laterais de plugins Argon que possam existir */
html[data-csi-theme="light"] body.csi-app .fixed-plugin,
html[data-csi-theme="light"] body.csi-app .right-sidebar,
html[data-csi-theme="light"] body.csi-app .settings-panel,
html[data-csi-theme="light"] body.csi-app .dropdown-menu-right {
  background-color: #ffffff !important;
  color: #172033 !important;
  border-color: rgba(14,165,233,.18) !important;
}
html[data-csi-theme="dark"] body.csi-app .fixed-plugin,
html[data-csi-theme="dark"] body.csi-app .right-sidebar,
html[data-csi-theme="dark"] body.csi-app .settings-panel,
html[data-csi-theme="dark"] body.csi-app .dropdown-menu-right {
  background-color: #071d37 !important;
  color: #edf7ff !important;
  border-color: rgba(31,199,243,.18) !important;
}
/* Mantém títulos da faixa superior legíveis nos dois temas */
body.csi-app .header.bg-primary .text-white,
body.csi-app .header.bg-primary .h2,
body.csi-app .header.bg-primary h1,
body.csi-app .header.bg-primary h2,
body.csi-app .header.bg-primary h3,
body.csi-app .header.bg-primary h6,
body.csi-app .header.bg-gradient-primary .text-white,
body.csi-app .header.bg-gradient-primary .h2,
body.csi-app .header.bg-gradient-primary h1,
body.csi-app .header.bg-gradient-primary h2,
body.csi-app .header.bg-gradient-primary h3,
body.csi-app .header.bg-gradient-primary h6 {
  color: #ffffff !important;
}
body.csi-app .header.bg-primary .text-white-50,
body.csi-app .header.bg-gradient-primary .text-white-50 {
  color: rgba(255,255,255,.74) !important;
}

/* =========================================================
   CSI v1.6 — correção final da barra lateral e exportação
   ========================================================= */
:root,
html[data-csi-theme="dark"] {
  --csi-text-muted: #a7b9cc;
  --csi-sidebar-bg-1: #03101f;
  --csi-sidebar-bg-2: #061b33;
  --csi-sidebar-link: #cfe2f6;
  --csi-sidebar-link-hover: #ffffff;
  --csi-sidebar-icon: #76ddf8;
  --csi-sidebar-active-text: #ffffff;
  --csi-sidebar-active-bg: linear-gradient(135deg, rgba(31,199,243,.24), rgba(20,184,166,.10));
}

html[data-csi-theme="light"] {
  --csi-text-muted: #64748b;
  --csi-sidebar-bg-1: #ffffff;
  --csi-sidebar-bg-2: #eef8fc;
  --csi-sidebar-link: #1e344c;
  --csi-sidebar-link-hover: #07566b;
  --csi-sidebar-icon: #0789a4;
  --csi-sidebar-active-text: #052438;
  --csi-sidebar-active-bg: linear-gradient(135deg, rgba(14,165,233,.16), rgba(20,184,166,.08));
}

/* Barra lateral inteira: remove restos visuais do Argon nos dois temas. */
body.csi-app .navbar-vertical.csi-sidenav,
body.csi-app .navbar-vertical.csi-sidenav .scrollbar-inner,
body.csi-app .navbar-vertical.csi-sidenav .navbar-inner,
body.csi-app .navbar-vertical.csi-sidenav .navbar-collapse,
body.csi-app .navbar-vertical.csi-sidenav .collapse {
  background:
    radial-gradient(circle at 22% 0%, rgba(31,199,243,.20), transparent 34%),
    linear-gradient(180deg, var(--csi-sidebar-bg-2), var(--csi-sidebar-bg-1)) !important;
  color: var(--csi-sidebar-link) !important;
}

html[data-csi-theme="light"] body.csi-app .navbar-vertical.csi-sidenav,
html[data-csi-theme="light"] body.csi-app .navbar-vertical.csi-sidenav .scrollbar-inner,
html[data-csi-theme="light"] body.csi-app .navbar-vertical.csi-sidenav .navbar-inner,
html[data-csi-theme="light"] body.csi-app .navbar-vertical.csi-sidenav .navbar-collapse,
html[data-csi-theme="light"] body.csi-app .navbar-vertical.csi-sidenav .collapse {
  background:
    radial-gradient(circle at 22% 0%, rgba(14,165,233,.18), transparent 35%),
    linear-gradient(180deg, #ffffff 0%, #f2fbff 52%, #eaf6ff 100%) !important;
  box-shadow: 10px 0 30px rgba(15, 23, 42, .07) !important;
}

html[data-csi-theme="dark"] body.csi-app .navbar-vertical.csi-sidenav {
  box-shadow: 10px 0 34px rgba(0, 0, 0, .28) !important;
}

body.csi-app .navbar-vertical.csi-sidenav .sidenav-header {
  height: auto !important;
  min-height: 112px !important;
  padding: 1rem .85rem !important;
  border-bottom: 1px solid var(--csi-border) !important;
}

body.csi-app .navbar-vertical.csi-sidenav .sidenav-header:after {
  content: "Instituto Cachear" !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  margin: .45rem auto 0 !important;
  width: fit-content !important;
  height: auto !important;
  padding: .18rem .6rem !important;
  border-radius: 999px !important;
  letter-spacing: .13em !important;
  font-size: .64rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: var(--csi-cyan) !important;
  background: rgba(31,199,243,.08) !important;
  border: 1px solid rgba(31,199,243,.16) !important;
}

body.csi-app .navbar-vertical.csi-sidenav .navbar-brand {
  min-height: 70px !important;
  padding: .6rem !important;
  margin: 0 !important;
  border: 1px solid rgba(31,199,243,.14) !important;
  border-radius: 1rem !important;
  background: rgba(31,199,243,.055) !important;
}

html[data-csi-theme="light"] body.csi-app .navbar-vertical.csi-sidenav .navbar-brand {
  background: rgba(14,165,233,.055) !important;
}

body.csi-app .navbar-vertical.csi-sidenav .navbar-brand-img {
  max-height: 62px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

body.csi-app .navbar-vertical.csi-sidenav .navbar-nav {
  padding: .75rem 0 !important;
}

body.csi-app .navbar-vertical.csi-sidenav .nav-item {
  margin: 0 !important;
}

body.csi-app .navbar-vertical.csi-sidenav .nav-link {
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  margin: .14rem .8rem !important;
  padding: .72rem .9rem !important;
  color: var(--csi-sidebar-link) !important;
  border: 1px solid transparent !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease !important;
}

body.csi-app .navbar-vertical.csi-sidenav .nav-link i {
  min-width: 1.35rem !important;
  color: var(--csi-sidebar-icon) !important;
  opacity: .95 !important;
  text-align: center !important;
  font-size: 1rem !important;
}

body.csi-app .navbar-vertical.csi-sidenav .nav-link .nav-link-text {
  color: inherit !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

body.csi-app .navbar-vertical.csi-sidenav .nav-link:hover,
body.csi-app .navbar-vertical.csi-sidenav .nav-link.active {
  color: var(--csi-sidebar-active-text) !important;
  background: var(--csi-sidebar-active-bg) !important;
  border-color: rgba(31,199,243,.22) !important;
  transform: translateX(2px) !important;
  box-shadow: inset 3px 0 0 var(--csi-cyan), 0 12px 26px rgba(31,199,243,.11) !important;
}

html[data-csi-theme="light"] body.csi-app .navbar-vertical.csi-sidenav .nav-link:hover,
html[data-csi-theme="light"] body.csi-app .navbar-vertical.csi-sidenav .nav-link.active {
  box-shadow: inset 3px 0 0 var(--csi-cyan), 0 12px 24px rgba(15, 23, 42, .06) !important;
}

body.csi-app .navbar-vertical.csi-sidenav .nav-link:hover i,
body.csi-app .navbar-vertical.csi-sidenav .nav-link.active i {
  color: var(--csi-cyan) !important;
}

body.csi-app .navbar-vertical.csi-sidenav hr {
  border-color: var(--csi-border) !important;
  margin: .75rem 1rem !important;
}

body.csi-app .navbar-vertical.csi-sidenav .navbar-heading,
body.csi-app .navbar-vertical.csi-sidenav .docs-normal {
  color: var(--csi-text-muted) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 0 .95rem !important;
}

body.csi-app .navbar-vertical.csi-sidenav .badge {
  margin-left: auto !important;
  background: linear-gradient(135deg, var(--csi-cyan-2), var(--csi-cyan)) !important;
  color: #fff !important;
  border: 0 !important;
}

body.csi-app .csi-sidebar-card {
  color: var(--csi-sidebar-link) !important;
  background: rgba(31,199,243,.075) !important;
  border: 1px solid rgba(31,199,243,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

html[data-csi-theme="light"] body.csi-app .csi-sidebar-card {
  background: #ffffff !important;
  color: #1e344c !important;
  box-shadow: 0 12px 24px rgba(15,23,42,.06) !important;
}

body.csi-app .csi-sidebar-card strong {
  color: var(--csi-sidebar-active-text) !important;
}

body.csi-app .csi-sidebar-card span {
  color: var(--csi-text-muted) !important;
}

/* Ajustes de botões e painel direito da barra superior, para ficar coerente nos dois temas. */
body.csi-app .navbar-top .navbar-nav.align-items-center.ml-auto {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

html[data-csi-theme="light"] body.csi-app .navbar-top .navbar-nav.align-items-center.ml-auto,
html[data-csi-theme="light"] body.csi-app .csi-theme-toggle,
html[data-csi-theme="light"] body.csi-app .csi-notifications > .nav-link,
html[data-csi-theme="light"] body.csi-app .csi-profile-menu {
  background: #ffffff !important;
  color: #102033 !important;
  border-color: rgba(14,165,233,.18) !important;
}

html[data-csi-theme="dark"] body.csi-app .navbar-top .navbar-nav.align-items-center.ml-auto,
html[data-csi-theme="dark"] body.csi-app .csi-theme-toggle,
html[data-csi-theme="dark"] body.csi-app .csi-notifications > .nav-link,
html[data-csi-theme="dark"] body.csi-app .csi-profile-menu {
  background: rgba(5,18,35,.86) !important;
  color: #eaf6ff !important;
  border-color: rgba(31,199,243,.22) !important;
}

html[data-csi-theme="light"] body.csi-app .csi-top-search,
html[data-csi-theme="light"] body.csi-app .csi-period-switch,
html[data-csi-theme="light"] body.csi-app .csi-filter-card {
  background: #ffffff !important;
  color: #102033 !important;
  border-color: rgba(14,165,233,.18) !important;
}

html[data-csi-theme="dark"] body.csi-app .csi-top-search,
html[data-csi-theme="dark"] body.csi-app .csi-period-switch,
html[data-csi-theme="dark"] body.csi-app .csi-filter-card {
  background: rgba(5,18,35,.76) !important;
  color: #eaf6ff !important;
  border-color: rgba(31,199,243,.22) !important;
}

/* Garante legibilidade de links e texto dentro da barra lateral, mesmo quando o Argon acrescenta classes text-* antigas. */
body.csi-app .navbar-vertical.csi-sidenav .text-muted,
body.csi-app .navbar-vertical.csi-sidenav .text-cyan,
body.csi-app .navbar-vertical.csi-sidenav .text-red,
body.csi-app .navbar-vertical.csi-sidenav .text-primary,
body.csi-app .navbar-vertical.csi-sidenav .text-info,
body.csi-app .navbar-vertical.csi-sidenav .text-success,
body.csi-app .navbar-vertical.csi-sidenav .text-warning {
  color: var(--csi-sidebar-icon) !important;
}

body.csi-app .navbar-vertical.csi-sidenav .nav-link:hover .text-muted,
body.csi-app .navbar-vertical.csi-sidenav .nav-link:hover .text-cyan,
body.csi-app .navbar-vertical.csi-sidenav .nav-link.active .text-muted,
body.csi-app .navbar-vertical.csi-sidenav .nav-link.active .text-cyan {
  color: var(--csi-cyan) !important;
}

/* =========================================================
   CSI v1.6 — correção final da barra lateral e topo
   Garante consistência real no tema claro/escuro e remove
   os restos visuais do Argon na navegação principal.
   ========================================================= */
html[data-csi-theme="light"] {
  --csi-sidebar-bg: linear-gradient(180deg, #ffffff 0%, #eefaff 52%, #e6f7ff 100%);
  --csi-sidebar-card-bg: rgba(255, 255, 255, .78);
  --csi-sidebar-border: rgba(14, 165, 233, .22);
  --csi-sidebar-text: #123047;
  --csi-sidebar-muted: #587089;
  --csi-sidebar-icon: #0891b2;
  --csi-sidebar-hover: rgba(14, 165, 233, .11);
  --csi-topbar-bg: rgba(255, 255, 255, .90);
  --csi-topbar-border: rgba(14, 165, 233, .18);
  --csi-action-bg: #ffffff;
  --csi-action-text: #0f172a;
}

html[data-csi-theme="dark"] {
  --csi-sidebar-bg: radial-gradient(circle at 20% 0%, rgba(31, 199, 243, .20), transparent 34%), linear-gradient(180deg, #06182d 0%, #041120 58%, #020915 100%);
  --csi-sidebar-card-bg: rgba(8, 30, 55, .82);
  --csi-sidebar-border: rgba(31, 199, 243, .18);
  --csi-sidebar-text: #e9f8ff;
  --csi-sidebar-muted: #94aac0;
  --csi-sidebar-icon: #29d3ff;
  --csi-sidebar-hover: rgba(31, 199, 243, .12);
  --csi-topbar-bg: rgba(4, 17, 32, .92);
  --csi-topbar-border: rgba(31, 199, 243, .18);
  --csi-action-bg: rgba(10, 33, 61, .92);
  --csi-action-text: #f4fbff;
}

/* Barra lateral — especificidade alta para vencer regras do Argon */
html body.csi-app nav#sidenav-main.csi-sidenav,
html body.csi-app .navbar-vertical.csi-sidenav,
html body.csi-app .sidenav.csi-sidenav {
  background: var(--csi-sidebar-bg) !important;
  border-right: 1px solid var(--csi-sidebar-border) !important;
  box-shadow: 18px 0 42px rgba(2, 8, 23, .12) !important;
  color: var(--csi-sidebar-text) !important;
}

html[data-csi-theme="light"] body.csi-app nav#sidenav-main.csi-sidenav {
  box-shadow: 18px 0 42px rgba(14, 165, 233, .10) !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .scrollbar-inner,
html body.csi-app nav#sidenav-main.csi-sidenav .navbar-inner,
html body.csi-app nav#sidenav-main.csi-sidenav .navbar-collapse,
html body.csi-app nav#sidenav-main.csi-sidenav .collapse {
  background: transparent !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .sidenav-header {
  min-height: 105px !important;
  padding: 14px 12px !important;
  background: transparent !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .navbar-brand {
  width: 100% !important;
  min-height: 72px !important;
  padding: 10px 12px !important;
  border-radius: 20px !important;
  background: var(--csi-sidebar-card-bg) !important;
  border: 1px solid var(--csi-sidebar-border) !important;
  box-shadow: 0 14px 28px rgba(14, 165, 233, .10) !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .navbar-brand-img {
  max-height: 54px !important;
  width: auto !important;
  object-fit: contain !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .navbar-nav {
  padding: 4px 12px !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .navbar-nav .nav-item {
  margin: 3px 0 !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav.navbar-dark .navbar-nav .nav-link,
html body.csi-app nav#sidenav-main.csi-sidenav .navbar-nav .nav-link,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link {
  position: relative !important;
  min-height: 46px !important;
  padding: .72rem .9rem !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--csi-sidebar-text) !important;
  opacity: 1 !important;
  font-weight: 650 !important;
  letter-spacing: .01em !important;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .nav-link .nav-link-text,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link span:not(.badge) {
  color: inherit !important;
  opacity: 1 !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .nav-link i,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link .ni,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link .fas,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link .far {
  color: var(--csi-sidebar-icon) !important;
  opacity: 1 !important;
  min-width: 1.55rem !important;
  text-align: center !important;
  filter: drop-shadow(0 5px 10px rgba(14, 165, 233, .14)) !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .nav-link:hover,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link:focus {
  background: var(--csi-sidebar-hover) !important;
  border-color: var(--csi-sidebar-border) !important;
  color: var(--csi-sidebar-text) !important;
  transform: translateX(2px) !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .nav-link.active,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link[aria-current="page"] {
  background: linear-gradient(135deg, #13c6f3 0%, #06a7d7 58%, #087ea4 100%) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(6, 167, 215, .30) !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .nav-link.active i,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link.active .ni,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link.active .fas,
html body.csi-app nav#sidenav-main.csi-sidenav .nav-link.active span {
  color: #ffffff !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav hr {
  border-top: 1px solid var(--csi-sidebar-border) !important;
  margin-left: 18px !important;
  margin-right: 18px !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .navbar-heading,
html body.csi-app nav#sidenav-main.csi-sidenav .navbar-heading span,
html body.csi-app nav#sidenav-main.csi-sidenav .docs-normal {
  color: var(--csi-sidebar-muted) !important;
  font-size: .72rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  padding-left: 15px !important;
}

html body.csi-app nav#sidenav-main.csi-sidenav .badge {
  background: linear-gradient(135deg, #22d3ee, #0ea5e9) !important;
  color: #ffffff !important;
  border: 0 !important;
}
/* Alternativa: texto escuro no botão ativo ciano */
html[data-csi-theme="dark"] body.csi-app .csi-period-switch a.active,
html[data-csi-theme="dark"] body.csi-app #periodSwitch a.active,
html[data-csi-theme="dark"] body.csi-app a.active[data-period] {
  color: #061827 !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}

html body.csi-app .csi-sidebar-card {
  margin: 16px 16px 10px !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: var(--csi-sidebar-card-bg) !important;
  border: 1px solid var(--csi-sidebar-border) !important;
  box-shadow: 0 18px 36px rgba(2, 8, 23, .12) !important;
  color: var(--csi-sidebar-text) !important;
}

html body.csi-app .csi-sidebar-card i,
html body.csi-app .csi-sidebar-card strong {
  color: var(--csi-sidebar-text) !important;
}

html body.csi-app .csi-sidebar-card span {
  color: var(--csi-sidebar-muted) !important;
}

/* Topo e zona direita com botões/perfil/notificações */
html body.csi-app .csi-topbar,
html body.csi-app .navbar-top.csi-topbar {
  background: var(--csi-topbar-bg) !important;
  border-bottom: 1px solid var(--csi-topbar-border) !important;
  box-shadow: 0 12px 36px rgba(2, 8, 23, .08) !important;
  backdrop-filter: blur(14px) !important;
}

html body.csi-app .csi-topbar .navbar-text,
html body.csi-app .csi-topbar .navbar-nav .nav-link,
html body.csi-app .csi-topbar .media-body span,
html body.csi-app .csi-topbar .ni,
html body.csi-app .csi-topbar .fas {
  color: var(--csi-action-text) !important;
}

html body.csi-app .csi-topbar .navbar-nav > .nav-item > .nav-link,
html body.csi-app .csi-theme-toggle,
html body.csi-app .csi-notifications > .nav-link,
html body.csi-app .csi-profile-menu,
html body.csi-app .csi-notification-menu {
  z-index: 3000 !important;
}

html body.csi-app .csi-theme-toggle,
html body.csi-app .csi-notifications > .nav-link,
html body.csi-app .csi-topbar .avatar,
html body.csi-app .sidenav-toggler {
  background: var(--csi-action-bg) !important;
  color: var(--csi-action-text) !important;
  border: 1px solid var(--csi-topbar-border) !important;
  box-shadow: 0 10px 22px rgba(2, 8, 23, .08) !important;
}

html body.csi-app .csi-theme-toggle:hover,
html body.csi-app .csi-notifications > .nav-link:hover {
  background: rgba(31, 199, 243, .13) !important;
  color: var(--csi-action-text) !important;
}

html body.csi-app .csi-notification-menu,
html body.csi-app .csi-profile-menu {
  background: var(--csi-panel) !important;
  border: 1px solid var(--csi-border) !important;
  color: var(--csi-text) !important;
  box-shadow: 0 28px 70px rgba(2, 8, 23, .34) !important;
}

html[data-csi-theme="light"] body.csi-app .csi-notification-menu,
html[data-csi-theme="light"] body.csi-app .csi-profile-menu {
  box-shadow: 0 28px 70px rgba(14, 165, 233, .18) !important;
}

html body.csi-app .csi-top-search {
  background: var(--csi-action-bg) !important;
  border: 1px solid var(--csi-topbar-border) !important;
  color: var(--csi-action-text) !important;
}

html body.csi-app .csi-top-search input,
html body.csi-app .csi-top-search input::placeholder {
  color: var(--csi-action-text) !important;
  opacity: .78 !important;
}

/* Botões de ação em cabeçalhos à direita */
html body.csi-app .header .text-right .btn,
html body.csi-app .card-header .text-right .btn,
html body.csi-app .csi-actions .btn {
  border-radius: 999px !important;
  box-shadow: 0 12px 24px rgba(2, 8, 23, .10) !important;
}

html[data-csi-theme="light"] body.csi-app .btn-neutral,
html[data-csi-theme="light"] body.csi-app .btn-default,
html[data-csi-theme="light"] body.csi-app .btn-secondary {
  background: #ffffff !important;
  border-color: rgba(14, 165, 233, .24) !important;
  color: #0f172a !important;
}

html[data-csi-theme="dark"] body.csi-app .btn-neutral,
html[data-csi-theme="dark"] body.csi-app .btn-default,
html[data-csi-theme="dark"] body.csi-app .btn-secondary {
  background: rgba(10, 33, 61, .95) !important;
  border-color: rgba(31, 199, 243, .22) !important;
  color: #f8fbff !important;
}

/* Correções finais para itens que o Argon força com navbar-dark/bg-gradient */
html[data-csi-theme="light"] body.csi-app .navbar-dark .navbar-nav .nav-link:not(.active),
html[data-csi-theme="light"] body.csi-app .navbar-dark .navbar-text,
html[data-csi-theme="light"] body.csi-app .header .text-white-50 {
  color: #31465d !important;
}

html[data-csi-theme="dark"] body.csi-app .navbar-light .navbar-nav .nav-link,
html[data-csi-theme="dark"] body.csi-app .navbar-light .navbar-text {
  color: #f8fbff !important;
}



/* Footer da dashboard */
/* Footer da dashboard */
.csi-dashboard-footer {
  margin: 32px 24px 18px 280px;
  padding: 18px 24px;
  border: 1px solid rgba(34, 211, 238, 0.18);
  border-radius: 22px;
  background: rgba(3, 19, 35, 0.72);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
  color: rgba(226, 245, 255, 0.82);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}

.csi-footer-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.csi-footer-center {
  text-align: center;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.csi-footer-right {
  text-align: right;
  font-size: 0.7rem;
  font-weight: 800;
  color: #22d3ee;
}

.csi-footer-company-logo {
  max-height: 34px;
  max-width: 170px;
  object-fit: contain;
  opacity: 0.9;
}

/* Tema claro */
html[data-csi-theme="light"] .csi-dashboard-footer {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(8, 145, 178, 0.18);
  color: #0f172a;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

html[data-csi-theme="light"] .csi-footer-right {
  color: #0789a4;
}

/* Mobile */
@media (max-width: 768px) {
  .csi-dashboard-footer {
    grid-template-columns: 1fr;
    text-align: center;
    margin: 24px 14px 14px 14px;
  }

  .csi-footer-left,
  .csi-footer-right {
    justify-content: center;
    text-align: center;
  }
}

/* Nome da empresa no footer */
.csi-footer-company-name {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #22d3ee;
  text-transform: uppercase;
  opacity: 0.95;
}

html[data-csi-theme="light"] .csi-footer-company-name {
  color: #0789a4;
}
