/**
 * Sync Source Nodes — client area theme skin
 * Dual light/dark via data-bs-theme + prefers-color-scheme fallbacks.
 */
:root {
  color-scheme: light dark;
  --ss-bg-dark-remote: #0c0f1d;
  --ss-card-dark-remote: #161b33;
  --ss-text-dark-remote: #e8eefc;
  --ss-cyan: #00f0ff;
  --ss-gold: #ffd700;
  --ss-border: color-mix(in srgb, var(--ss-cyan) 28%, transparent);
  --ss-bg: var(--ss-bg-dark-remote);
  --ss-card: var(--ss-card-dark-remote);
  --ss-text: var(--ss-text-dark-remote);
}

@media (prefers-color-scheme: light) {
  :root:not([data-bs-theme="dark"]) {
    --ss-bg: #ffffff;
    --ss-card: #f8fafc;
    --ss-text: #0f172a;
    --ss-border: #e2e8f0;
    --ss-cyan: #0891b2;
    --ss-gold: #b45309;
  }
}

@media (prefers-color-scheme: dark) {
  :root:not([data-bs-theme="light"]) {
    --ss-bg: var(--ss-bg-dark-remote);
    --ss-card: var(--ss-card-dark-remote);
    --ss-text: var(--ss-text-dark-remote);
    --ss-border: color-mix(in srgb, var(--ss-cyan) 28%, transparent);
  }
}

html[data-bs-theme="light"] {
  color-scheme: light;
  --ss-bg: #ffffff;
  --ss-card: #f8fafc;
  --ss-text: #0f172a;
  --ss-border: #e2e8f0;
  --ss-cyan: #0891b2;
  --ss-gold: #b45309;
}

html[data-bs-theme="dark"] {
  color-scheme: dark;
  --ss-bg: var(--ss-bg-dark-remote);
  --ss-card: var(--ss-card-dark-remote);
  --ss-text: var(--ss-text-dark-remote);
  --ss-border: color-mix(in srgb, var(--ss-cyan) 28%, transparent);
  --ss-cyan: #00f0ff;
  --ss-gold: #ffd700;
}

html,
body {
  background-color: var(--ss-bg) !important;
  color: var(--ss-text) !important;
}

body.ssn-theme {
  min-height: 100vh;
  background-color: var(--ss-bg) !important;
  background-image:
    radial-gradient(1200px 600px at 10% -10%, color-mix(in srgb, var(--ss-cyan) 14%, transparent), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, color-mix(in srgb, var(--ss-gold) 10%, transparent), transparent 55%);
  color: var(--ss-text) !important;
}
/* SSN_NAV_STACK — keep top nav above page cards/content */
.ssn-theme > .container > header,
.ssn-theme header {
  position: sticky;
  top: 0;
  z-index: 1040 !important;
  background-color: var(--ss-bg);
  background-image: none;
  isolation: isolate;
}

.ssn-theme header .navbar,
.ssn-theme .navbar {
  position: relative;
  z-index: 1040 !important;
  background-color: var(--ss-bg);
}

.ssn-theme header .navbar-collapse,
.ssn-theme header .navbar-nav,
.ssn-theme header .dropdown-menu,
.ssn-theme header .ts-dropdown {
  z-index: 1050 !important;
}

.ssn-theme > .container > .container,
.ssn-theme #wrapper,
.ssn-theme section[role="main"] {
  position: relative;
  z-index: 1;
}
/* SSN_NAV_STACK_END */


/* Allow nav dropdowns without nuking Bootstrap layout overflow */
.ssn-theme header,
.ssn-theme .navbar,
.ssn-theme .navbar-nav,
.ssn-theme .nav-item,
.ssn-theme .offcanvas-body {
  overflow: visible !important;
}

.ssn-theme .table-responsive {
  overflow-x: auto;
}

.ssn-theme .dropdown,
.ssn-theme .client-dropdown,
.ssn-theme .nav-item:has(.form-select),
.ssn-theme .js-locale-selector,
.ssn-theme .ts-wrapper {
  position: relative;
  z-index: 100;
}

.ssn-theme .dropdown-menu,
.ssn-theme .ts-dropdown {
  z-index: 1080 !important;
  background-color: var(--ss-card) !important;
  color: var(--ss-text) !important;
  border: 1px solid var(--ss-border) !important;
}

.ssn-theme .form-select,
.ssn-theme select {
  position: relative;
  z-index: 100;
  background-color: var(--ss-card) !important;
  color: var(--ss-text) !important;
  border-color: var(--ss-border) !important;
}

.ssn-theme .navbar,
.ssn-theme .navbar-brand,
.ssn-theme .nav-link {
  color: var(--ss-text) !important;
}

.ssn-theme .brand-logo {
  max-height: 42px;
  width: auto;
  display: block;
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--ss-cyan) 35%, transparent));
}

.ssn-theme .card,
.ssn-theme .content-block,
.ssn-theme .list-group-item,
.ssn-theme .modal-content,
.ssn-theme .table,
.ssn-theme .form-control,
.ssn-theme .form-select,
.ssn-theme .accordion-item,
.ssn-theme .invoice-box,
.ssn-theme .well {
  background-color: var(--ss-card) !important;
  color: var(--ss-text) !important;
  border: 1px solid var(--ss-border) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--ss-cyan) 6%, transparent),
    0 12px 40px color-mix(in srgb, #000 12%, transparent);
}

.ssn-theme .card,
.ssn-theme .content-block {
  border-radius: 14px;
}

.ssn-theme .table > :not(caption) > * > * {
  background-color: transparent !important;
  color: var(--ss-text) !important;
  border-bottom-color: var(--ss-border) !important;
  vertical-align: middle !important;
}

.ssn-theme td .btn-group,
.ssn-theme td .btn-list,
.ssn-theme .table td > .d-flex,
.ssn-theme .card-footer .btn-group,
.ssn-theme .card-body .btn-group,
.ssn-theme .checkout-buttons,
.ssn-theme .order-actions,
.ssn-theme .invoice-actions,
.ssn-theme .login-actions,
.ssn-theme form .form-actions,
.ssn-theme .card .btn-toolbar,
.ssn-theme .card-footer,
.ssn-theme .modal-footer {
  display: flex !important;
  gap: 10px;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.ssn-theme .table td {
  vertical-align: middle !important;
}

.ssn-theme .btn-primary,
.ssn-theme .btn-primary:focus {
  background: linear-gradient(135deg, var(--ss-cyan), color-mix(in srgb, var(--ss-cyan) 55%, var(--ss-gold))) !important;
  border-color: transparent !important;
  color: #061018 !important;
  font-weight: 600;
  box-shadow: 0 0 18px color-mix(in srgb, var(--ss-cyan) 28%, transparent);
}

.ssn-theme .btn-primary:hover {
  background: linear-gradient(135deg, var(--ss-gold), var(--ss-cyan)) !important;
  color: #061018 !important;
}

.ssn-theme .btn-outline-primary {
  color: var(--ss-cyan) !important;
  border-color: var(--ss-cyan) !important;
}

.ssn-theme .btn-outline-primary:hover {
  background: var(--ss-gold) !important;
  border-color: var(--ss-gold) !important;
  color: #061018 !important;
}

.ssn-theme a:not(.btn):not(.nav-link):not(.dropdown-item) {
  color: var(--ss-cyan);
}

.ssn-theme a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
  color: var(--ss-gold);
}

.ssn-theme .nav-link.active,
.ssn-theme .nav-pills .nav-link.active {
  color: #061018 !important;
  background: linear-gradient(135deg, var(--ss-cyan), var(--ss-gold)) !important;
}

.ssn-theme .sidebar .list-group-item,
.ssn-theme .col-3 .list-group-item {
  background: transparent !important;
  border-color: var(--ss-border) !important;
  color: var(--ss-text) !important;
}

.ssn-theme .form-control:focus,
.ssn-theme .form-select:focus {
  border-color: var(--ss-cyan) !important;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--ss-cyan) 25%, transparent) !important;
  background-color: var(--ss-card) !important;
  color: var(--ss-text) !important;
}

.ssn-theme .form-label,
.ssn-theme label,
.ssn-theme .invoice-box,
.ssn-theme .text-body {
  color: var(--ss-text) !important;
}

.ssn-theme .breadcrumb,
.ssn-theme .text-secondary,
.ssn-theme .text-muted,
.ssn-theme .card-subtitle {
  color: color-mix(in srgb, var(--ss-text) 68%, transparent) !important;
}

.ssn-theme footer,
.ssn-theme .footer {
  color: color-mix(in srgb, var(--ss-text) 65%, transparent);
}

html[data-bs-theme="dark"] .ssn-theme .hide-theme-dark { display: none !important; }
html[data-bs-theme="light"] .ssn-theme .hide-theme-light { display: none !important; }
html[data-bs-theme="dark"] .ssn-theme .hide-theme-light { display: inline-flex !important; }
html[data-bs-theme="light"] .ssn-theme .hide-theme-dark { display: inline-flex !important; }
