:root {
  --sphera-compact-space: 0.875rem;
  --sphera-focus-color: #00857f;
  --sphera-focus-ring: 0 0 0 .25rem rgba(0, 133, 127, .25);
}

/* Brand actions share the same palette in the workspace and standalone login. */
:is(.sphera-shell, .sphera-login) {
  --sphera-action-bg: #00857f;
  --sphera-action-rgb: 0, 133, 127;
  --sphera-action-hover-bg: #006e69;
  --sphera-action-active-bg: #005f5b;
  --sphera-action-focus-rgb: 0, 133, 127;
  --sphera-link-rgb: 0, 123, 118;
  --sphera-link-hover-rgb: 0, 95, 91;
  --sphera-chart-accent: #00857f;
  --sphera-chart-secondary: #005f5b;
  --tblr-primary: var(--sphera-action-bg);
  --tblr-primary-rgb: var(--sphera-action-rgb);
  --tblr-primary-darken: var(--sphera-action-hover-bg);
  --tblr-primary-lt: rgba(var(--sphera-link-rgb), .1);
  --tblr-primary-text-emphasis: rgb(var(--sphera-link-rgb));
  --tblr-primary-bg-subtle: rgba(var(--sphera-link-rgb), .1);
  --tblr-primary-border-subtle: rgba(var(--sphera-link-rgb), .35);
  --tblr-blue: var(--sphera-action-bg);
  --tblr-blue-rgb: var(--sphera-action-rgb);
  --tblr-blue-fg: #fff;
  --tblr-blue-darken: var(--sphera-action-hover-bg);
  --tblr-blue-lt: rgba(var(--sphera-link-rgb), .1);
  --tblr-azure: var(--sphera-action-bg);
  --tblr-azure-rgb: var(--sphera-action-rgb);
  --tblr-azure-fg: #fff;
  --tblr-azure-darken: var(--sphera-action-hover-bg);
  --tblr-azure-lt: rgba(var(--sphera-link-rgb), .1);
  --tblr-cyan: var(--sphera-action-bg);
  --tblr-cyan-rgb: var(--sphera-action-rgb);
  --tblr-cyan-fg: #fff;
  --tblr-cyan-darken: var(--sphera-action-hover-bg);
  --tblr-cyan-lt: rgba(var(--sphera-link-rgb), .1);
  --tblr-info: var(--sphera-action-bg);
  --tblr-info-rgb: var(--sphera-action-rgb);
  --tblr-info-fg: #fff;
  --tblr-info-darken: var(--sphera-action-hover-bg);
  --tblr-info-lt: rgba(var(--sphera-link-rgb), .1);
  --tblr-info-text-emphasis: rgb(var(--sphera-link-rgb));
  --tblr-info-bg-subtle: rgba(var(--sphera-link-rgb), .1);
  --tblr-info-border-subtle: rgba(var(--sphera-link-rgb), .35);
  --tblr-link-color: rgb(var(--sphera-link-rgb));
  --tblr-link-color-rgb: var(--sphera-link-rgb);
  --tblr-link-hover-color: rgb(var(--sphera-link-hover-rgb));
  --tblr-link-hover-color-rgb: var(--sphera-link-hover-rgb);
}

@media screen {
  :where(html[data-bs-theme="dark"]) :is(.sphera-shell, .sphera-login) {
    --sphera-action-focus-rgb: 77, 198, 190;
    --sphera-link-rgb: 77, 198, 190;
    --sphera-link-hover-rgb: 130, 215, 209;
    --sphera-chart-accent: #4dc6be;
    --sphera-chart-secondary: #2f8f85;
  }
}

/* Legacy blue/azure utility classes share the brand palette, including dynamic badges. */
:is(.sphera-shell, .sphera-login) :is(.text-primary, .text-blue, .text-azure, .text-cyan, .text-info, .bg-primary-lt, .bg-blue-lt, .bg-azure-lt, .bg-cyan-lt, .bg-info-lt) {
  color: rgba(var(--sphera-link-rgb), var(--tblr-text-opacity, 1)) !important;
}

.sphera-shell .list-group {
  --tblr-list-group-active-color: #fff;
  --tblr-list-group-active-bg: var(--sphera-action-bg);
  --tblr-list-group-active-border-color: var(--sphera-action-bg);
}

.sphera-shell .list-group-item.active {
  color: var(--tblr-list-group-active-color);
  background-color: var(--tblr-list-group-active-bg);
  border-color: var(--tblr-list-group-active-border-color);
}

.sphera-shell .progress {
  --tblr-progress-bar-bg: var(--sphera-action-bg);
}

.sphera-sidebar-logo {
  display: block;
  height: 2.9rem;
  max-width: 11.75rem;
  width: auto;
}

.sphera-sidebar {
  --tblr-navbar-bg: #f3f6fb;
  --tblr-navbar-border-color: #e3e8f1;
  --tblr-navbar-color: #586176;
  --tblr-navbar-active-color: var(--tblr-link-color);
  --tblr-navbar-hover-color: #1d273b;
  background: linear-gradient(180deg, #f7f9fd 0%, #eef3fa 100%);
  border-right: 1px solid #e3e8f1;
  box-shadow: 10px 0 30px rgba(29, 39, 59, 0.04);
}

.sphera-sidebar .navbar-brand {
  margin: 0.7rem 0 1rem;
  padding-left: 0.35rem;
}

.sphera-sidebar .navbar-nav {
  gap: 0.125rem;
}

.sphera-sidebar .nav-link {
  border-radius: 0.45rem;
  color: #586176;
  font-weight: 600;
  margin: 0 0.45rem;
  padding: 0.6rem 0.75rem;
}

.sphera-sidebar .nav-link:hover {
  background-color: rgba(var(--sphera-link-rgb), 0.07);
  color: #1d273b;
}

.sphera-sidebar .nav-item.active .nav-link {
  background-color: rgba(var(--sphera-link-rgb), 0.12);
  color: var(--tblr-link-color);
}

.sphera-sidebar .nav-link-icon {
  color: inherit;
  opacity: 0.85;
}

.sphera-sidebar .nav-link.dropdown-toggle::after {
  margin-left: auto;
}

.sphera-sidebar .dropdown-menu {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0.1rem 0.45rem 0.3rem;
  min-width: 0;
  padding: 0 0 0 2.45rem;
  position: static;
}

.sphera-sidebar .dropdown-item {
  border-radius: 0.35rem;
  color: #687187;
  font-size: 0.8125rem;
  line-height: 1.25;
  padding: 0.38rem 0.5rem;
  white-space: normal;
}

.sphera-sidebar .dropdown-item:hover {
  background-color: rgba(var(--sphera-link-rgb), 0.07);
  color: #1d273b;
}

.sphera-sidebar .dropdown-item.active {
  background-color: transparent;
  color: var(--tblr-link-color);
  font-weight: 700;
}

.sphera-sidebar .navbar-toggler {
  color: #586176;
}

.sphera-topbar-mark {
  height: 1.4rem;
  width: 1.4rem;
}

.sphera-avatar {
  background: transparent;
  overflow: hidden;
}

.sphera-avatar img {
  height: 100%;
  width: 100%;
}

.sphera-footer-infospid {
  align-items: center;
  color: var(--tblr-secondary);
  display: inline-flex;
  font-weight: 600;
  gap: 0.45rem;
}

.sphera-footer-infospid:hover {
  color: var(--tblr-primary);
  text-decoration: none;
}

.sphera-footer-infospid-logo {
  flex: 0 0 auto;
  height: 1.65rem;
  object-fit: contain;
  width: auto;
}

.page-header {
  margin-bottom: 0.75rem;
}

.page-header .page-pretitle {
  margin-bottom: 0.125rem;
}

.page-header .page-title {
  line-height: 1.2;
}

.page-body {
  margin-top: 0.75rem;
  margin-bottom: 1rem;
}

.row-cards {
  --tblr-gutter-y: 0.875rem;
}

.card {
  --tblr-card-spacer-x: var(--sphera-compact-space);
  --tblr-card-spacer-y: var(--sphera-compact-space);
}

.card-header {
  min-height: 2.75rem;
  padding: 0.75rem var(--sphera-compact-space);
}

.card-title {
  line-height: 1.25;
}

.form-label {
  margin-bottom: 0.35rem;
}

.form-control,
.form-select {
  min-height: 2.25rem;
}

/* Local tokens also cover partial selections without replacing validation colors. */
:is(.sphera-shell, .sphera-login) input:is([type="checkbox"], [type="radio"]) {
  accent-color: var(--sphera-action-bg);
}

:is(.sphera-shell, .sphera-login) .form-check-input,
.sphera-shell .form-selectgroup-check {
  --tblr-primary: var(--sphera-action-bg);
}

.sphera-shell .form-selectgroup-label {
  --tblr-primary: var(--tblr-link-color);
  --tblr-primary-rgb: var(--sphera-link-rgb);
}

.sphera-shell .btn-check + .btn-outline-secondary {
  --tblr-btn-active-color: #fff;
  --tblr-btn-active-bg: var(--sphera-action-bg);
  --tblr-btn-active-border-color: var(--sphera-action-bg);
  --tblr-btn-focus-shadow-rgb: var(--sphera-action-focus-rgb);
}

.sphera-shell .btn-check:checked + .btn-outline-secondary {
  --tblr-btn-hover-color: #fff;
  --tblr-btn-hover-bg: var(--sphera-action-hover-bg);
  --tblr-btn-hover-border-color: var(--sphera-action-hover-bg);
}

.sphera-shell .btn-check:focus-visible + .btn-outline-secondary {
  border-color: var(--sphera-action-bg);
  box-shadow: 0 0 0 .25rem rgba(var(--sphera-action-focus-rgb), .5);
}

/* Shared by the workspace and login, independently of the theme's text accent. */
:is(.sphera-shell, .sphera-login) :is(.form-control, .form-select, .form-check-input):focus,
.sphera-shell .sphera-multiselect-toggle[aria-expanded="true"],
.sphera-shell .form-selectgroup-input:focus + .form-selectgroup-label {
  border-color: var(--sphera-control-focus-color, var(--sphera-focus-color));
  box-shadow: var(--sphera-control-focus-ring, var(--sphera-focus-ring));
  outline: 0;
}

.sphera-shell .sphera-multiselect-toggle[aria-expanded="true"] + .sphera-multiselect-menu {
  border-color: var(--sphera-focus-color);
}

.sphera-shell .form-switch .form-check-input:focus:not(:checked) {
  --tblr-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2300857f'/%3e%3c/svg%3e");
}

/* Validation keeps its meaning even while a field has keyboard focus. */
:is(.sphera-shell, .sphera-login) :is(.form-control, .form-select, .form-check-input).is-invalid,
:is(.sphera-shell, .sphera-login) .was-validated :is(.form-control, .form-select, .form-check-input):invalid {
  --sphera-control-focus-color: var(--tblr-form-invalid-border-color);
  --sphera-control-focus-ring: 0 0 0 .25rem rgba(var(--tblr-danger-rgb), .25);
  border-color: var(--sphera-control-focus-color);
}

:is(.sphera-shell, .sphera-login) :is(.form-control, .form-select, .form-check-input).is-valid,
:is(.sphera-shell, .sphera-login) .was-validated :is(.form-control, .form-select, .form-check-input):valid {
  --sphera-control-focus-color: var(--tblr-form-valid-border-color);
  --sphera-control-focus-ring: 0 0 0 .25rem rgba(var(--tblr-success-rgb), .25);
  border-color: var(--sphera-control-focus-color);
}

.btn {
  --tblr-btn-padding-y: 0.375rem;
}

:is(.sphera-shell, .sphera-login) :is(.btn-primary, .btn-outline-primary, .btn-blue, .btn-outline-blue, .btn-azure, .btn-outline-azure, .btn-info, .btn-outline-info) {
  --tblr-btn-color: #fff;
  --tblr-btn-bg: var(--sphera-action-bg);
  --tblr-btn-border-color: var(--sphera-action-bg);
  --tblr-btn-hover-color: #fff;
  --tblr-btn-hover-bg: var(--sphera-action-hover-bg);
  --tblr-btn-hover-border-color: var(--sphera-action-hover-bg);
  --tblr-btn-active-color: #fff;
  --tblr-btn-active-bg: var(--sphera-action-active-bg);
  --tblr-btn-active-border-color: var(--sphera-action-active-bg);
  --tblr-btn-disabled-color: #fff;
  --tblr-btn-disabled-bg: var(--sphera-action-bg);
  --tblr-btn-disabled-border-color: var(--sphera-action-bg);
}

:is(.sphera-shell, .sphera-login) :is(.btn-outline-primary, .btn-outline-blue, .btn-outline-azure, .btn-outline-info, :where(.btn-primary, .btn-blue, .btn-azure, .btn-info).btn-outline) {
  --tblr-btn-color: var(--tblr-link-color);
  --tblr-btn-bg: transparent;
  --tblr-btn-border-color: var(--tblr-link-color);
  --tblr-btn-disabled-color: var(--tblr-link-color);
  --tblr-btn-disabled-bg: transparent;
  --tblr-btn-disabled-border-color: var(--tblr-link-color);
}

:is(.sphera-shell, .sphera-login) :is(.btn-ghost-primary, .btn-ghost-blue, .btn-ghost-azure, .btn-ghost-info, :where(.btn-primary, .btn-blue, .btn-azure, .btn-info).btn-ghost, .btn-link) {
  --tblr-btn-color: var(--tblr-link-color);
  --tblr-btn-bg: transparent;
  --tblr-btn-border-color: transparent;
  --tblr-btn-hover-color: var(--tblr-link-hover-color);
  --tblr-btn-hover-bg: rgba(var(--sphera-link-rgb), .12);
  --tblr-btn-hover-border-color: transparent;
  --tblr-btn-active-color: var(--tblr-link-hover-color);
  --tblr-btn-active-bg: rgba(var(--sphera-link-rgb), .2);
  --tblr-btn-active-border-color: transparent;
  --tblr-btn-disabled-color: var(--tblr-link-color);
  --tblr-btn-disabled-bg: transparent;
  --tblr-btn-disabled-border-color: transparent;
}

:is(.sphera-shell, .sphera-login) .btn-link {
  --tblr-btn-hover-bg: transparent;
  --tblr-btn-active-bg: transparent;
  color: var(--tblr-btn-color);
}
:is(.sphera-shell, .sphera-login) .btn-link:is(:hover, :focus-visible, :active) { color: var(--tblr-link-hover-color); }

:is(.sphera-shell, .sphera-login) :is(.btn-primary, .btn-outline-primary, .btn-ghost-primary, .btn-blue, .btn-outline-blue, .btn-ghost-blue, .btn-azure, .btn-outline-azure, .btn-ghost-azure, .btn-info, .btn-outline-info, .btn-ghost-info, .btn-link) {
  --tblr-btn-focus-shadow-rgb: var(--sphera-action-focus-rgb);
}
:is(.sphera-shell, .sphera-login) :is(.btn-primary, .btn-outline-primary, .btn-ghost-primary, .btn-blue, .btn-outline-blue, .btn-ghost-blue, .btn-azure, .btn-outline-azure, .btn-ghost-azure, .btn-info, .btn-outline-info, .btn-ghost-info, .btn-link):focus-visible {
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(var(--sphera-action-focus-rgb), .5);
}

:is(.sphera-shell, .sphera-login) a:focus-visible {
  --tblr-link-color-rgb: var(--sphera-link-hover-rgb);
  outline-color: rgb(var(--sphera-action-focus-rgb));
}
:is(.sphera-shell, .sphera-login) .alert-link { color: var(--tblr-link-color); }
:is(.sphera-shell, .sphera-login) .alert-link:is(:hover, :focus-visible) { color: var(--tblr-link-hover-color); }
/* Tabler's link utility uses !important and a fixed blue hover color. */
:is(.sphera-shell, .sphera-login) :is(.link-primary, .link-info) {
  color: rgba(var(--sphera-link-rgb), var(--tblr-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--sphera-link-rgb), var(--tblr-link-underline-opacity, 1)) !important;
}
:is(.sphera-shell, .sphera-login) :is(.link-primary, .link-info):is(:hover, :focus, :active) {
  color: rgba(var(--sphera-link-hover-rgb), var(--tblr-link-opacity, 1)) !important;
  text-decoration-color: rgba(var(--sphera-link-hover-rgb), var(--tblr-link-underline-opacity, 1)) !important;
}

.sphera-shell .pagination {
  --tblr-pagination-color: var(--tblr-link-color);
  --tblr-pagination-hover-color: var(--tblr-link-hover-color);
  --tblr-pagination-focus-color: var(--tblr-link-hover-color);
  --tblr-pagination-hover-bg: rgba(var(--sphera-link-rgb), .12);
  --tblr-pagination-focus-bg: rgba(var(--sphera-link-rgb), .12);
  --tblr-pagination-focus-box-shadow: var(--sphera-focus-ring);
  --tblr-pagination-active-bg: var(--sphera-action-bg);
  --tblr-pagination-active-border-color: var(--sphera-action-bg);
}

.btn-list {
  gap: 0.375rem;
}

.table > :not(caption) > * > * {
  padding: 0.5rem 0.625rem;
}

.card-table > :not(caption) > * > :first-child {
  padding-left: var(--sphera-compact-space);
}

.card-table > :not(caption) > * > :last-child {
  padding-right: var(--sphera-compact-space);
}

.empty {
  padding: 1.5rem 1rem;
}

.form-check {
  min-height: 1.25rem;
}

.badge {
  line-height: 1.15;
}

.sphera-multiselect {
  width: 100%;
}

.sphera-multiselect-toggle {
  align-items: center;
  background-color: var(--tblr-bg-forms);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  text-align: left;
  white-space: nowrap;
}

.sphera-multiselect-menu {
  max-height: 18rem;
  min-width: 100%;
  overflow-y: auto;
  padding: 0.5rem;
  width: max(100%, 19rem);
}

.sphera-multiselect-option {
  align-items: flex-start;
  border-radius: 0.25rem;
  display: flex;
  gap: 0.5rem;
  margin: 0;
  padding: 0.35rem 0.4rem;
}

.sphera-multiselect-option:hover {
  background-color: rgba(var(--tblr-primary-rgb), 0.06);
}

.sphera-multiselect-option .form-check-input {
  margin-left: 0;
  margin-top: 0.15rem;
}

.sphera-multiselect-option .form-check-label {
  align-items: center;
  display: flex;
  gap: 0.4rem;
  justify-content: space-between;
  min-width: 0;
  width: 100%;
}

.sphera-multiselect-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sphera-multiselect-hint {
  color: var(--tblr-secondary);
  font-size: 0.75rem;
  padding: 0.25rem 0.4rem;
}

.sphera-sql-preview {
  background: #111827;
  border-radius: 0.45rem;
  color: #e5e7eb;
  font-size: 0.78rem;
  line-height: 1.55;
  margin: 0;
  max-height: 28rem;
  overflow: auto;
  padding: 0.875rem 1rem;
}

.sphera-sql-preview code {
  color: inherit;
  white-space: pre;
}

.sphera-report-table {
  font-size: 0.78rem;
}

.sphera-report-table > :not(caption) > * > * {
  padding-bottom: 0.38rem;
  padding-top: 0.38rem;
}

.sphera-report-table thead th {
  background: #1d273b;
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 1;
}

.sphera-treasury-table {
  min-width: 58rem;
}

.sphera-treasury-group-row > th {
  background: #eef1f5;
  border-bottom-color: #d0d5dd;
  color: #1d273b;
  padding-bottom: 0.45rem;
  padding-top: 0.45rem;
}

.sphera-treasury-subtotal-row > td {
  background: #f8f9fb;
  border-bottom: 2px solid #d0d5dd;
}

.sphera-treasury-table tfoot > tr > td {
  background: #1d273b;
  color: #fff;
}

.sphera-treasury-warnings {
  background: rgba(var(--tblr-warning-rgb), 0.055);
  border: 1px solid rgba(var(--tblr-warning-rgb), 0.3);
  border-radius: 0.55rem;
  color: var(--tblr-body-color);
  overflow: hidden;
}

.sphera-treasury-warnings-summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 0.75rem;
  list-style: none;
  min-height: 3.5rem;
  padding: 0.7rem 0.9rem;
  transition: background-color 160ms ease;
}

.sphera-treasury-warnings-summary::-webkit-details-marker {
  display: none;
}

.sphera-treasury-warnings-summary:hover {
  background: rgba(var(--tblr-warning-rgb), 0.065);
}

.sphera-treasury-warnings-summary:focus-visible {
  border-radius: 0.45rem;
  outline: 2px solid var(--tblr-primary);
  outline-offset: -3px;
}

.sphera-treasury-warnings-icon {
  align-items: center;
  background: rgba(var(--tblr-warning-rgb), 0.14);
  border-radius: 50%;
  color: var(--tblr-warning);
  display: inline-flex;
  flex: 0 0 auto;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.sphera-treasury-warnings-icon .icon {
  height: 1.1rem;
  margin: 0;
  width: 1.1rem;
}

.sphera-treasury-warnings-heading {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}

.sphera-treasury-warnings-title {
  font-weight: 600;
  line-height: 1.25;
}

.sphera-treasury-warnings-subtitle {
  color: var(--tblr-secondary);
  font-size: 0.75rem;
  line-height: 1.25;
  margin-top: 0.1rem;
}

.sphera-treasury-warnings-count {
  flex: 0 0 auto;
  min-width: 1.7rem;
  text-align: center;
}

.sphera-treasury-warnings-action {
  align-items: center;
  color: var(--tblr-secondary);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 0.35rem;
}

.sphera-treasury-warnings-action-open {
  display: none;
}

.sphera-treasury-warnings-chevron {
  height: 1rem;
  margin: 0;
  transition: transform 160ms ease;
  width: 1rem;
}

.sphera-treasury-warnings[open] .sphera-treasury-warnings-action-closed {
  display: none;
}

.sphera-treasury-warnings[open] .sphera-treasury-warnings-action-open {
  display: inline;
}

.sphera-treasury-warnings[open] .sphera-treasury-warnings-chevron {
  transform: rotate(180deg);
}

.sphera-treasury-warnings-content {
  border-top: 1px solid rgba(var(--tblr-warning-rgb), 0.22);
  padding: 0.15rem 1rem 0.35rem 3.65rem;
}

.sphera-treasury-warnings-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sphera-treasury-warnings-item {
  align-items: start;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 0.45rem minmax(0, 1fr);
  line-height: 1.45;
  padding: 0.65rem 0;
}

.sphera-treasury-warnings-item + .sphera-treasury-warnings-item {
  border-top: 1px solid rgba(var(--tblr-warning-rgb), 0.16);
}

.sphera-treasury-warnings-dot {
  background: var(--tblr-warning);
  border-radius: 50%;
  height: 0.4rem;
  margin-top: 0.45rem;
  width: 0.4rem;
}

@media (max-width: 575.98px) {
  .sphera-treasury-warnings-summary {
    gap: 0.6rem;
    padding: 0.7rem 0.75rem;
  }

  .sphera-treasury-warnings-subtitle,
  .sphera-treasury-warnings .sphera-treasury-warnings-action .sphera-treasury-warnings-action-closed,
  .sphera-treasury-warnings[open] .sphera-treasury-warnings-action .sphera-treasury-warnings-action-open {
    display: none;
  }

  .sphera-treasury-warnings-content {
    padding: 0.1rem 0.8rem 0.3rem;
  }
}

.sphera-treasury-movement-trigger {
  appearance: none;
  background: transparent;
  border: 0 !important;
  border-radius: 0.2rem;
  box-shadow: none !important;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  font-weight: 600;
  line-height: inherit;
  padding: 0 0.12rem;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15rem;
}

.sphera-treasury-movement-trigger:hover {
  background: rgba(var(--sphera-link-rgb), .1);
  color: var(--tblr-link-hover-color);
  text-decoration-style: solid;
}

.sphera-treasury-movement-trigger:focus-visible {
  outline: 2px solid var(--tblr-primary);
  outline-offset: 2px;
}

#treasury-movements-modal .modal-dialog {
  height: min(calc(100dvh - 1.5rem), 56rem);
  margin: max(0.75rem, calc((100dvh - 56rem) / 2)) auto;
  max-width: 86rem;
  width: calc(100% - 2rem);
}

.sphera-treasury-movements-modal {
  height: 100%;
  overflow: hidden;
}

.sphera-treasury-movements-modal [hidden] {
  display: none !important;
}

.sphera-treasury-movements-modal .modal-header {
  background: linear-gradient(135deg, rgba(var(--sphera-link-rgb), 0.1), transparent 62%);
  flex: 0 0 auto;
  padding: 0.9rem 1.25rem;
}

.sphera-treasury-movements-modal .modal-body {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  padding: 1rem 1.25rem;
}

.sphera-treasury-movements-modal .modal-footer {
  flex: 0 0 auto;
  padding: 0.7rem 1.25rem;
}

.sphera-treasury-movements-titleline {
  min-width: 0;
}

.sphera-treasury-movements-view,
.sphera-treasury-entry-view {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  width: 100%;
}

.sphera-treasury-movements-state {
  align-items: center;
  display: flex;
  gap: 0.9rem;
  justify-content: center;
  min-height: 19rem;
  text-align: left;
  width: 100%;
}

.sphera-treasury-movements-empty-icon {
  align-items: center;
  background: var(--tblr-bg-surface-secondary);
  border: 1px solid var(--tblr-border-color);
  border-radius: 50%;
  color: var(--tblr-secondary);
  display: inline-flex;
  font-size: 1.25rem;
  font-weight: 700;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.sphera-treasury-movements-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  width: 100%;
}

.sphera-treasury-movements-overview {
  display: grid;
  flex: 0 0 auto;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, 1fr));
  margin-bottom: 0.75rem;
}

.sphera-treasury-movements-summary {
  background: var(--tblr-bg-surface-secondary);
  border: 1px solid var(--tblr-border-color);
  border-radius: var(--tblr-border-radius-lg);
  height: 100%;
  min-height: 4.4rem;
  padding: 0.65rem 0.85rem;
}

.sphera-treasury-movements-summary--total {
  background: rgba(var(--sphera-link-rgb), 0.06);
  border-color: rgba(var(--sphera-link-rgb), 0.22);
}

.sphera-treasury-movements-is-inflow .sphera-treasury-movements-summary--total {
  background: rgba(47, 179, 68, 0.07);
  border-color: rgba(47, 179, 68, 0.24);
}

.sphera-treasury-movements-is-outflow .sphera-treasury-movements-summary--total {
  background: rgba(214, 57, 57, 0.06);
  border-color: rgba(214, 57, 57, 0.22);
}

.sphera-treasury-movements-summary-label {
  color: var(--tblr-secondary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  margin-bottom: 0.18rem;
  text-transform: uppercase;
}

.sphera-treasury-movements-summary-value {
  color: #1d273b;
  font-size: 1.35rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1.15;
}

.sphera-treasury-movements-summary--total .sphera-treasury-movements-summary-value {
  color: var(--tblr-primary);
  font-size: 1.55rem;
}

.sphera-treasury-movements-is-inflow .sphera-treasury-movements-summary--total .sphera-treasury-movements-summary-value {
  color: var(--tblr-success);
}

.sphera-treasury-movements-is-outflow .sphera-treasury-movements-summary--total .sphera-treasury-movements-summary-value {
  color: var(--tblr-danger);
}

.sphera-treasury-movements-toolbar {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.75rem;
}

.sphera-treasury-movements-result {
  background: var(--tblr-bg-surface-secondary);
  border-radius: 999px;
  color: var(--tblr-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.3rem 0.65rem;
  white-space: nowrap;
}

.sphera-treasury-movements-search {
  max-width: 23rem;
  width: 100%;
}

.sphera-treasury-movements-table-wrap {
  border: 1px solid var(--tblr-border-color);
  border-radius: var(--tblr-border-radius-lg);
  flex: 1 1 auto;
  min-height: 11rem;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.sphera-treasury-movements-table-wrap:focus-visible {
  outline: 2px solid var(--tblr-primary);
  outline-offset: 2px;
}

.sphera-treasury-movements-table-wrap::-webkit-scrollbar {
  height: 0.65rem;
  width: 0.65rem;
}

.sphera-treasury-movements-table-wrap::-webkit-scrollbar-thumb {
  background-clip: content-box;
  background-color: rgba(98, 105, 118, 0.42);
  border: 0.16rem solid transparent;
  border-radius: 999px;
}

.sphera-treasury-movements-table {
  font-size: 0.78rem;
  min-width: 0;
  table-layout: fixed;
  width: 100%;
}

.sphera-treasury-movements-col-reference {
  width: 17%;
}

.sphera-treasury-movements-col-dates {
  width: 17%;
}

.sphera-treasury-movements-col-label {
  width: 22%;
}

.sphera-treasury-movements-col-comment {
  width: 29%;
}

.sphera-treasury-movements-col-amount {
  width: 15%;
}

.sphera-treasury-movements-table thead th {
  background: #1d273b;
  color: #fff;
  padding-bottom: 0.65rem;
  padding-top: 0.65rem;
  position: sticky;
  top: 0;
  z-index: 3;
}

.sphera-treasury-movements-table tbody td {
  overflow-wrap: anywhere;
  padding-bottom: 0.65rem;
  padding-top: 0.65rem;
}

.sphera-treasury-movement-reference {
  color: #1d273b;
  font-variant-numeric: tabular-nums;
}

.sphera-treasury-movement-meta-line {
  color: var(--tblr-secondary);
  display: grid;
  font-size: 0.72rem;
  gap: 0.35rem;
  grid-template-columns: max-content minmax(0, 1fr);
  line-height: 1.35;
  margin-top: 0.18rem;
}

.sphera-treasury-movement-meta-label {
  color: #8a94a6;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.sphera-treasury-movement-label {
  margin-top: 0.12rem;
  white-space: normal;
}

.sphera-treasury-movement-comment {
  overflow-wrap: anywhere;
  white-space: normal;
}

.sphera-treasury-movement-amount {
  color: var(--tblr-primary);
  font-size: 0.84rem;
  font-variant-numeric: tabular-nums;
}

.sphera-treasury-entry-trigger {
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0.25rem;
  color: var(--tblr-link-color);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  padding: 0.12rem 0.2rem;
  text-align: left;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-underline-offset: 0.15rem;
}

.sphera-treasury-entry-trigger:hover {
  background: rgba(var(--sphera-link-rgb), .09);
  color: var(--tblr-link-hover-color);
  text-decoration-style: solid;
}

.sphera-treasury-entry-trigger:focus-visible {
  outline: 2px solid var(--tblr-primary);
  outline-offset: 2px;
}

.sphera-treasury-entry-nav {
  align-items: center;
  border-bottom: 1px solid var(--tblr-border-color);
  display: flex;
  flex: 0 0 auto;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.7rem;
  padding-bottom: 0.6rem;
}

.sphera-treasury-entry-back {
  margin-left: -0.5rem;
}

.sphera-treasury-entry-origin {
  color: var(--tblr-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  text-align: right;
}

.sphera-treasury-entry-heading {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  min-width: 0;
}

.sphera-treasury-entry-kicker {
  color: var(--tblr-secondary);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.sphera-treasury-entry-title {
  color: #1d273b;
  font-size: 1.25rem;
  line-height: 1.2;
  margin: 0.08rem 0;
}

.sphera-treasury-entry-heading-label {
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.sphera-treasury-entry-content,
.sphera-treasury-entry-detail {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  width: 100%;
}

.sphera-treasury-entry-overview {
  display: grid;
  flex: 0 0 auto;
  gap: 0.6rem;
  grid-template-columns: 0.7fr repeat(3, minmax(0, 1fr));
  margin-bottom: 0.65rem;
}

.sphera-treasury-entry-summary-card {
  background: var(--tblr-bg-surface-secondary);
  border: 1px solid var(--tblr-border-color);
  border-radius: var(--tblr-border-radius-lg);
  min-width: 0;
  padding: 0.55rem 0.7rem;
}

.sphera-treasury-entry-summary-card--debit {
  background: rgba(var(--sphera-link-rgb), 0.055);
  border-color: rgba(var(--sphera-link-rgb), 0.2);
}

.sphera-treasury-entry-summary-card--credit {
  background: rgba(111, 66, 193, 0.055);
  border-color: rgba(111, 66, 193, 0.18);
}

.sphera-treasury-entry-detail--balanced .sphera-treasury-entry-summary-card--difference {
  background: rgba(47, 179, 68, 0.055);
  border-color: rgba(47, 179, 68, 0.2);
}

.sphera-treasury-entry-detail--unbalanced .sphera-treasury-entry-summary-card--difference {
  background: rgba(214, 57, 57, 0.055);
  border-color: rgba(214, 57, 57, 0.2);
}

.sphera-treasury-entry-summary-label {
  color: var(--tblr-secondary);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  margin-bottom: 0.12rem;
  text-transform: uppercase;
}

.sphera-treasury-entry-summary-value {
  color: #1d273b;
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.sphera-treasury-entry-metadata {
  background: var(--tblr-bg-surface-secondary);
  border: 1px solid var(--tblr-border-color);
  border-radius: var(--tblr-border-radius-lg);
  display: grid;
  flex: 0 0 auto;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 0.65rem;
  overflow: hidden;
}

.sphera-treasury-entry-metadata-item {
  min-width: 0;
  padding: 0.48rem 0.7rem;
}

.sphera-treasury-entry-metadata-item:nth-child(n + 4) {
  border-top: 1px solid var(--tblr-border-color);
}

.sphera-treasury-entry-metadata-item:not(:nth-child(3n + 1)) {
  border-left: 1px solid var(--tblr-border-color);
}

.sphera-treasury-entry-metadata dt {
  color: #8a94a6;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  margin-bottom: 0.08rem;
  text-transform: uppercase;
}

.sphera-treasury-entry-metadata dd {
  color: #1d273b;
  font-size: 0.73rem;
  line-height: 1.3;
  margin: 0;
  overflow-wrap: anywhere;
}

.sphera-treasury-entry-lines-header {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  margin-bottom: 0.45rem;
}

.sphera-treasury-entry-lines-title {
  color: #1d273b;
  font-size: 0.85rem;
  margin: 0;
}

.sphera-treasury-entry-table-wrap {
  border: 1px solid var(--tblr-border-color);
  border-radius: var(--tblr-border-radius-lg);
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

@media (min-width: 768px) and (max-height: 42rem) {
  .sphera-treasury-entry-view {
    overflow-y: auto;
    padding-right: 0.25rem;
    scrollbar-gutter: stable;
  }

  .sphera-treasury-entry-nav {
    background: var(--tblr-bg-surface);
    position: sticky;
    top: 0;
    z-index: 5;
  }

  .sphera-treasury-entry-content,
  .sphera-treasury-entry-detail {
    flex: 0 0 auto;
  }

  .sphera-treasury-entry-table-wrap {
    flex: 0 0 auto;
    max-height: 14rem;
  }
}

.sphera-treasury-entry-table-wrap:focus-visible {
  outline: 2px solid var(--tblr-primary);
  outline-offset: 2px;
}

.sphera-treasury-entry-table {
  font-size: 0.76rem;
  min-width: 0;
  table-layout: fixed;
  width: 100%;
}

.sphera-treasury-entry-col-reference {
  width: 22%;
}

.sphera-treasury-entry-col-label {
  width: 22%;
}

.sphera-treasury-entry-col-allocation {
  width: 16%;
}

.sphera-treasury-entry-col-comment {
  width: 25%;
}

.sphera-treasury-entry-col-amount {
  width: 15%;
}

.sphera-treasury-entry-table thead th {
  background: #1d273b;
  color: #fff;
  padding-bottom: 0.58rem;
  padding-top: 0.58rem;
  position: sticky;
  top: 0;
  z-index: 3;
}

.sphera-treasury-entry-table tbody td {
  overflow-wrap: anywhere;
  padding-bottom: 0.58rem;
  padding-top: 0.58rem;
}

.sphera-treasury-entry-table tbody tr.sphera-treasury-entry-line--origin > td {
  background: rgba(var(--sphera-link-rgb), 0.065);
}

.sphera-treasury-entry-line--origin > td:first-child {
  box-shadow: inset 3px 0 var(--tblr-primary);
}

.sphera-treasury-entry-line-heading {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.sphera-treasury-entry-origin-badge {
  font-size: 0.54rem;
  line-height: 1.15;
  white-space: normal;
}

.sphera-treasury-entry-account,
.sphera-treasury-entry-amount-value {
  color: #1d273b;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  margin-top: 0.12rem;
}

.sphera-treasury-entry-line-label {
  margin-top: 0.12rem;
}

.sphera-treasury-entry-comment {
  white-space: normal;
}

.sphera-treasury-entry-direction {
  border-radius: 999px;
  display: inline-block;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  padding: 0.12rem 0.38rem;
  text-transform: uppercase;
}

.sphera-treasury-entry-direction--debit {
  background: rgba(var(--sphera-link-rgb), 0.1);
  color: var(--tblr-primary);
}

.sphera-treasury-entry-direction--credit {
  background: rgba(111, 66, 193, 0.1);
  color: #6f42c1;
}

.sphera-treasury-entry-direction--neutral {
  background: var(--tblr-bg-surface-secondary);
  color: var(--tblr-secondary);
}

.sphera-treasury-entry-state {
  flex: 1 1 auto;
  min-height: 12rem;
}

@media (max-width: 991.98px) {
  .sphera-treasury-entry-metadata {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sphera-treasury-entry-metadata-item:nth-child(n + 3) {
    border-top: 1px solid var(--tblr-border-color);
  }

  .sphera-treasury-entry-metadata-item:not(:nth-child(3n + 1)) {
    border-left: 0;
  }

  .sphera-treasury-entry-metadata-item:nth-child(even) {
    border-left: 1px solid var(--tblr-border-color);
  }

  .sphera-treasury-entry-table {
    font-size: 0.72rem;
  }
}

@media (max-width: 767.98px) {
  .sphera-treasury-movements-view,
  .sphera-treasury-entry-view,
  .sphera-treasury-entry-content,
  .sphera-treasury-entry-detail {
    display: block;
  }

  .sphera-treasury-entry-nav {
    background: var(--tblr-bg-surface);
    margin: -0.75rem -1rem 0.7rem;
    padding: 0.5rem 1rem;
    position: sticky;
    top: -0.75rem;
    z-index: 5;
  }

  .sphera-treasury-entry-origin {
    font-size: 0.68rem;
    max-width: 48%;
  }

  .sphera-treasury-entry-heading {
    align-items: flex-start;
  }

  .sphera-treasury-entry-title {
    font-size: 1.1rem;
  }

  .sphera-treasury-entry-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sphera-treasury-entry-summary-value {
    font-size: clamp(0.88rem, 4vw, 1.05rem);
  }

  .sphera-treasury-entry-metadata {
    grid-template-columns: 1fr;
  }

  .sphera-treasury-entry-metadata-item,
  .sphera-treasury-entry-metadata-item:nth-child(n + 3),
  .sphera-treasury-entry-metadata-item:nth-child(even),
  .sphera-treasury-entry-metadata-item:not(:nth-child(3n + 1)) {
    border-left: 0;
  }

  .sphera-treasury-entry-metadata-item + .sphera-treasury-entry-metadata-item {
    border-top: 1px solid var(--tblr-border-color);
  }

  .sphera-treasury-entry-table-wrap {
    border: 0;
    border-radius: 0;
    min-height: 0;
    overflow: visible;
    scrollbar-gutter: auto;
  }

  .sphera-treasury-entry-table,
  .sphera-treasury-entry-table tbody {
    display: block;
    width: 100%;
  }

  .sphera-treasury-entry-table colgroup {
    display: none;
  }

  .sphera-treasury-entry-table thead {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .sphera-treasury-entry-table tbody {
    display: grid;
    gap: 0.75rem;
  }

  .sphera-treasury-entry-table tbody tr {
    background: var(--tblr-bg-surface);
    border: 1px solid var(--tblr-border-color);
    border-radius: var(--tblr-border-radius-lg);
    box-shadow: 0 0.15rem 0.45rem rgba(29, 39, 59, 0.05);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
  }

  .sphera-treasury-entry-table tbody td {
    border: 0;
    display: block;
    min-width: 0;
    padding: 0.6rem 0.75rem;
    text-align: left !important;
  }

  .sphera-treasury-entry-table tbody td::before {
    color: #8a94a6;
    content: attr(data-label);
    display: block;
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.035em;
    margin-bottom: 0.22rem;
    text-transform: uppercase;
  }

  .sphera-treasury-entry-table tbody td:nth-child(2),
  .sphera-treasury-entry-table tbody td:nth-child(3),
  .sphera-treasury-entry-table tbody td:nth-child(4) {
    border-top: 1px solid var(--tblr-border-color);
    grid-column: 1 / -1;
  }

  .sphera-treasury-entry-table tbody td:nth-child(4) {
    background: var(--tblr-bg-surface-secondary);
  }

  .sphera-treasury-entry-table tbody td:nth-child(5) {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    grid-column: 2;
    grid-row: 1;
    justify-content: center;
  }

  .sphera-treasury-entry-table tbody td:nth-child(5)::before {
    margin-bottom: 0.15rem;
  }

  .sphera-treasury-entry-table tbody tr.sphera-treasury-entry-line--origin > td {
    background: transparent;
  }

  .sphera-treasury-entry-table tbody tr.sphera-treasury-entry-line--origin {
    border-color: rgba(var(--sphera-link-rgb), 0.5);
    box-shadow: inset 3px 0 var(--tblr-primary);
  }

  .sphera-treasury-entry-line--origin > td:first-child {
    box-shadow: none;
  }

  .sphera-treasury-entry-state {
    min-height: 12rem;
  }
}

@media (max-width: 991.98px) {
  #treasury-movements-modal .modal-dialog {
    height: calc(100dvh - 1rem);
    margin: 0.5rem auto;
    width: calc(100% - 1rem);
  }

  .sphera-treasury-movements-modal .modal-header,
  .sphera-treasury-movements-modal .modal-footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sphera-treasury-movements-modal .modal-body {
    padding: 0.85rem 1rem;
  }

  .sphera-treasury-movements-table {
    font-size: 0.74rem;
  }

  .sphera-treasury-movements-table > :not(caption) > * > * {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

@media (max-width: 767.98px) {
  #treasury-movements-modal .modal-dialog {
    height: 100dvh;
    margin: 0;
    max-width: none;
    width: 100%;
  }

  .sphera-treasury-movements-modal {
    border: 0;
    border-radius: 0;
  }

  .sphera-treasury-movements-modal .modal-header {
    padding-bottom: 0.75rem;
    padding-top: 0.75rem;
  }

  .sphera-treasury-movements-titleline .modal-title {
    flex-basis: 100%;
    margin-right: 0 !important;
  }

  .sphera-treasury-movements-modal .modal-body {
    display: block;
    min-height: 0;
    overflow-y: auto;
    padding: 0.75rem 1rem;
  }

  .sphera-treasury-movements-modal .modal-footer .btn {
    width: 100%;
  }

  .sphera-treasury-movements-content {
    display: block;
  }

  .sphera-treasury-movements-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sphera-treasury-movements-summary--total {
    grid-column: 1 / -1;
  }

  .sphera-treasury-movements-summary {
    min-height: 4rem;
    padding: 0.6rem 0.75rem;
  }

  .sphera-treasury-movements-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 0.5rem;
  }

  .sphera-treasury-movements-result {
    align-self: flex-start;
  }

  .sphera-treasury-movements-search {
    max-width: none;
  }

  .sphera-treasury-movements-table-wrap {
    border: 0;
    border-radius: 0;
    min-height: 0;
    overflow: visible;
    scrollbar-gutter: auto;
  }

  .sphera-treasury-movements-table,
  .sphera-treasury-movements-table tbody {
    display: block;
    width: 100%;
  }

  .sphera-treasury-movements-table colgroup {
    display: none;
  }

  .sphera-treasury-movements-table thead {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .sphera-treasury-movements-table tbody {
    display: grid;
    gap: 0.75rem;
  }

  .sphera-treasury-movements-table tbody tr {
    background: var(--tblr-bg-surface);
    border: 1px solid var(--tblr-border-color);
    border-radius: var(--tblr-border-radius-lg);
    box-shadow: 0 0.15rem 0.45rem rgba(29, 39, 59, 0.05);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
  }

  .sphera-treasury-movements-table tbody td {
    border: 0;
    display: block;
    min-width: 0;
    padding: 0.6rem 0.75rem;
    text-align: left !important;
  }

  .sphera-treasury-movements-table tbody td::before {
    color: #8a94a6;
    content: attr(data-label);
    display: block;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.035em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
  }

  .sphera-treasury-movements-table tbody td:nth-child(n + 3) {
    border-top: 1px solid var(--tblr-border-color);
    grid-column: 1 / -1;
  }

  .sphera-treasury-movements-table tbody td:nth-child(4) {
    background: var(--tblr-bg-surface-secondary);
  }

  .sphera-treasury-movement-amount {
    align-items: center;
    background: rgba(var(--sphera-link-rgb), 0.07);
    color: var(--tblr-primary);
    display: flex !important;
    font-size: 0.95rem;
    justify-content: space-between;
  }

  .sphera-treasury-movement-amount::before {
    margin-bottom: 0 !important;
  }

  .sphera-treasury-movements-state {
    min-height: 15rem;
  }
}

.sphera-exchange-rate-summary {
  align-items: baseline;
  background: #f8f9fb;
  border-bottom: 1px solid #d0d5dd;
  color: #667085;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.72rem;
  gap: 0.35rem 0.75rem;
  padding: 0.5rem 1rem;
}

.sphera-cell-client-name {
  max-width: 18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sphera-chart {
  height: 320px;
  min-height: 240px;
}

[data-sphera-report-form][aria-busy="true"] {
  cursor: wait;
}

[data-sphera-report-form] .spinner-border + span {
  margin-left: 0.45rem;
}

.table-responsive > .table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.sphera-dashboard-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--tblr-border-color);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0 0 0.75rem;
}

.sphera-dashboard-toolbar .btn-group {
  flex-wrap: wrap;
}

.sphera-dashboard-chart-main {
  height: 300px;
}

.sphera-dashboard-chart-ranking {
  height: 300px;
}

.sphera-dashboard-chart-finance {
  height: 230px;
}

.sphera-insight-list {
  display: grid;
  gap: 0.8rem;
}

.sphera-insight-item {
  align-items: flex-start;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 1.6rem minmax(0, 1fr);
}

.sphera-insight-item p {
  margin: 0;
}

.sphera-insight-index {
  align-items: center;
  background: rgba(var(--sphera-link-rgb), 0.1);
  border-radius: 50%;
  color: var(--tblr-link-color);
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 700;
  height: 1.6rem;
  justify-content: center;
  width: 1.6rem;
}

.sphera-source-status {
  border-top: 1px solid var(--tblr-border-color);
  color: var(--tblr-secondary);
  padding-top: 0.75rem;
}

.sphera-source-status summary {
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 600;
}

.sphera-login-logo {
  height: 4rem;
  width: auto;
}

.sphera-permission-matrix {
  display: grid;
  gap: 1rem;
}

.sphera-permission-section {
  border-bottom: 1px solid var(--tblr-border-color);
  padding-bottom: 1rem;
}

.sphera-permission-section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.sphera-permission-heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.sphera-permission-heading h3 {
  font-size: 0.875rem;
  margin: 0;
}

.sphera-permission-option {
  align-items: flex-start;
  border: 1px solid var(--tblr-border-color);
  border-radius: 0.35rem;
  cursor: pointer;
  display: flex;
  gap: 0.5rem;
  margin: 0;
  min-height: 2.5rem;
  padding: 0.55rem 0.65rem;
}

.sphera-permission-option:has(.form-check-input:checked) {
  background-color: rgba(var(--sphera-link-rgb), .06);
  border-color: rgba(var(--sphera-link-rgb), .35);
}

.sphera-permission-option .form-check-input {
  margin-left: 0;
  margin-top: 0.1rem;
}

@media (max-width: 767.98px) {
  .page-header .row > .col,
  .page-header .row > .col-auto {
    flex: 0 0 100%;
    width: 100%;
  }

  .page-header .row > .col-auto {
    margin-left: 0 !important;
  }

  .page-header .row > .col-auto > .d-flex {
    flex-wrap: wrap;
  }

  .sphera-chart {
    height: 280px;
  }

  .sphera-dashboard-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .sphera-dashboard-toolbar .btn-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sphera-dashboard-toolbar .btn {
    width: 100%;
  }
}
