/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root {
  scroll-behavior: smooth;
  --cicosy-font-body: "Open Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --cicosy-font-display: "Nunito", var(--cicosy-font-body);
  --cicosy-text-2xs: 0.5625rem; /* 9px */
  --cicosy-text-xs: 0.5625rem; /* 9px */
  --cicosy-text-sm: 0.625rem; /* 10px */
  --cicosy-text-base: 0.65625rem; /* 10.5px */
  --cicosy-text-md: 0.6875rem; /* 11px */
  --cicosy-text-lg: 0.75rem; /* 12px */
  --cicosy-text-xl: 0.8125rem; /* 13px */
  --cicosy-text-2xl: 1rem; /* 16px */
  --cicosy-line-tight: 1.25;
  --cicosy-line-snug: 1.35;
  --cicosy-line-normal: 1.45;
  --cicosy-line-relaxed: 1.5;
  --cicosy-letter-label: 0.035em;
  --cicosy-text-strong: #17233c;
  --cicosy-text-body: #26344d;
  --cicosy-text-muted: #667085;
  --cicosy-text-subtle: #8a96aa;
  --cicosy-dashboard-primary: #1b5e20;
  --cicosy-dashboard-heading: #1b5e20;
  --cicosy-dashboard-primary-soft: #eef8ef;
  --cicosy-dashboard-primary-soft-strong: #d9f0dc;
  --cicosy-dashboard-primary-border: #cfe8d2;
  --cicosy-dashboard-icon: #111827;
  --cicosy-dashboard-form-border: #111827;
  --cicosy-button-height: 1.875rem; /* 30px compact enterprise default */
  --cicosy-button-height-sm: 1.625rem; /* 26px */
  --cicosy-button-height-lg: 2.25rem; /* 36px */
  --cicosy-button-padding-x: 0.8rem;
  --cicosy-button-padding-x-sm: 0.6rem;
  --cicosy-button-padding-x-lg: 1.05rem;
  --cicosy-button-gap: 0.35rem;
  --cicosy-icon-button-size: 1.875rem;
  --cicosy-sidebar-width: 216px;
  --cicosy-sidebar-padding: 12px;
}

.accounting-dashboard-placeholder {
  min-height: 14rem;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.35rem;
  color: var(--cicosy-text-muted);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
  text-align: center;
}

.accounting-dashboard-placeholder strong {
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-tight);
}

/* Accounting Journal Entry Detail */
.accounting-je-card-shell > .cicosy-card-shell-body {
  padding: 0;
  overflow: hidden;
}

.accounting-je-detail {
  --accounting-je-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-je-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-je-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-je-border-soft: #e7eef0;
  --accounting-je-heading: var(--cicosy-text-strong, #17233c);
  --accounting-je-text: var(--cicosy-text-body, #26344d);
  --accounting-je-muted: var(--cicosy-text-muted, #667085);
  --accounting-je-success: #198754;
  --accounting-je-success-soft: #eaf8f1;
  position: relative;
  display: flex;
  min-height: 32rem;
  flex-direction: column;
  background: #fff;
  color: var(--accounting-je-text);
  container-type: inline-size;
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-je-content {
  flex: 1 1 auto;
  padding-bottom: 3.625rem;
}

.accounting-je-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  padding: 0.875rem 1rem 0.625rem;
}

.accounting-je-identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.55rem;
}

.accounting-je-number {
  margin: 0;
  overflow: hidden;
  color: var(--accounting-je-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-xl);
  font-weight: 700;
  line-height: var(--cicosy-line-tight);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-je-status {
  display: inline-flex;
  min-height: 1.375rem;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.45rem;
  border: 1px solid var(--accounting-je-border);
  border-radius: 3px;
  background: var(--accounting-je-primary-soft);
  color: var(--accounting-je-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.accounting-je-status--success {
  border-color: #9edfc1;
  background: var(--accounting-je-success-soft);
  color: var(--accounting-je-success);
}

.accounting-je-actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.25rem;
}

.accounting-je-icon-button,
.accounting-je-action-menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accounting-je-heading);
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.accounting-je-icon-button {
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  border-radius: 50%;
  font-size: var(--cicosy-text-md);
}

.accounting-je-icon-button:hover {
  background: var(--accounting-je-primary-soft);
  color: var(--accounting-je-primary);
}

.accounting-je-icon-button:active,
.accounting-je-action-menu-button:active {
  transform: translateY(1px);
}

.accounting-je-tabs-wrap {
  padding: 0 1rem;
}

.accounting-je-tabs {
  display: flex;
  min-height: 2.625rem;
  align-items: flex-end;
  gap: 1.125rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--accounting-je-border-soft);
  scrollbar-width: none;
}

.accounting-je-tabs::-webkit-scrollbar {
  display: none;
}

.accounting-je-tab {
  position: relative;
  flex: 0 0 auto;
  min-height: 2.625rem;
  padding: 0 0.0625rem 0.7rem;
  border: 0;
  background: transparent;
  color: var(--accounting-je-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  white-space: nowrap;
  transition: color 160ms ease;
}

.accounting-je-tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--accounting-je-primary);
  content: "";
  opacity: 0;
  transform: scaleX(0.25);
  transition: opacity 160ms ease, transform 160ms ease;
}

.accounting-je-tab:hover,
.accounting-je-tab.is-active {
  color: var(--accounting-je-primary);
}

.accounting-je-tab.is-active {
  font-weight: 700;
}

.accounting-je-tab.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.accounting-je-panel {
  display: none;
}

.accounting-je-panel.is-active {
  display: block;
}

.accounting-je-summary {
  padding: 1.125rem 1rem 1.25rem;
  border-bottom: 1px solid var(--accounting-je-border-soft);
}

.accounting-je-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.accounting-je-summary-column {
  min-width: 0;
}

.accounting-je-summary-column:first-child {
  padding-right: 1rem;
  border-right: 1px solid var(--accounting-je-border-soft);
}

.accounting-je-summary-column:last-child {
  padding-left: 1rem;
}

.accounting-je-detail-list {
  display: grid;
  gap: 0.875rem;
  margin: 0;
}

.accounting-je-detail-row {
  display: grid;
  grid-template-columns: minmax(5rem, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 0.5rem;
}

.accounting-je-detail-row dt,
.accounting-je-detail-row dd {
  margin: 0;
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-je-detail-row dt {
  color: var(--accounting-je-muted);
  font-weight: 600;
}

.accounting-je-detail-row dd {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
  color: var(--accounting-je-heading);
  font-weight: 600;
  text-align: right;
}

.accounting-je-detail-status {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  color: var(--accounting-je-success) !important;
}

.accounting-je-amount,
.accounting-je-table td:nth-child(3),
.accounting-je-table td:nth-child(4) {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-je-line-section {
  padding: 1rem 1rem 0;
}

.accounting-je-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.accounting-je-section-title {
  margin: 0;
  color: var(--accounting-je-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-je-link-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accounting-je-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
}

.accounting-je-link-button:hover {
  color: var(--accounting-je-primary);
  text-decoration: underline;
}

.accounting-je-table-scroll {
  width: 100%;
  overflow-x: auto;
  border-top: 1px solid var(--accounting-je-border-soft);
  scrollbar-width: thin;
}

.accounting-je-table {
  width: 100%;
  min-width: 34rem;
  margin: 0;
  table-layout: fixed;
  border-collapse: collapse;
}

.accounting-je-table th,
.accounting-je-table td {
  padding: 0.65rem 0.45rem;
  border-bottom: 1px solid var(--accounting-je-border-soft);
  vertical-align: middle;
}

.accounting-je-table th {
  background: #f8fafc;
  color: var(--accounting-je-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  white-space: nowrap;
}

.accounting-je-table td {
  color: var(--accounting-je-text);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-je-table th:nth-child(1),
.accounting-je-table td:nth-child(1) {
  width: 29%;
}

.accounting-je-table th:nth-child(2),
.accounting-je-table td:nth-child(2) {
  width: 31%;
}

.accounting-je-table th:nth-child(3),
.accounting-je-table td:nth-child(3),
.accounting-je-table th:nth-child(4),
.accounting-je-table td:nth-child(4) {
  width: 20%;
  text-align: right;
}

.accounting-je-table tbody tr:hover {
  background: var(--accounting-je-primary-soft);
}

.cicosy-journal-entry-list-recipe tr.is-selected {
  background: var(--accounting-je-primary-soft, #eef8ef);
}

.cicosy-journal-entry-list-recipe tr[data-accounting-je-detail-key] {
  cursor: pointer;
}

[data-accounting-detail-scope][data-accounting-detail-key] {
  cursor: pointer;
}

[data-accounting-detail-scope][data-accounting-detail-key].is-selected,
[data-accounting-detail-scope][data-accounting-detail-key][aria-selected="true"] {
  background: var(--accounting-je-primary-soft, #eef8ef);
}

.accounting-je-muted-cell {
  color: var(--accounting-je-muted) !important;
  text-align: center !important;
}

.accounting-je-dynamic-list {
  display: grid;
  gap: 0.625rem;
}

.accounting-je-dynamic-list-item {
  display: grid;
  gap: 0.2rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--accounting-je-border-soft);
}

.accounting-je-dynamic-list-item strong {
  color: var(--accounting-je-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-je-dynamic-list-item span {
  color: var(--accounting-je-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-je-empty-panel {
  display: flex;
  min-height: 17.5rem;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.25rem;
}

.accounting-je-empty-state {
  max-width: 20rem;
  text-align: center;
}

.accounting-je-empty-icon {
  display: inline-flex;
  width: 3.25rem;
  height: 3.25rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.875rem;
  border-radius: 50%;
  background: var(--accounting-je-primary-soft);
  color: var(--accounting-je-primary);
  font-size: var(--cicosy-text-2xl);
}

.accounting-je-empty-state h3 {
  margin: 0 0 0.45rem;
  color: var(--accounting-je-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-xl);
  font-weight: 700;
}

.accounting-je-empty-state p {
  margin: 0;
  color: var(--accounting-je-muted);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-relaxed);
}

.accounting-je-footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  min-height: 3.375rem;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem 0.625rem;
  border-top: 1px solid var(--accounting-je-border-soft);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 -0.5rem 1.5rem rgba(20, 44, 82, 0.035);
}

.accounting-je-footer-inner {
  display: flex;
  width: auto;
  justify-content: center;
  gap: 0.45rem;
}

.accounting-je-reverse-button {
  gap: 0.55rem;
}

.accounting-je-action-menu-button {
  width: var(--cicosy-button-height);
  min-width: var(--cicosy-button-height);
  height: var(--cicosy-button-height);
  border: 1px solid var(--accounting-je-border);
  border-radius: 4px;
  background: #fff;
  color: var(--accounting-je-primary);
}

.accounting-je-action-menu-button:hover {
  background: var(--accounting-je-primary-soft);
  color: var(--accounting-je-primary);
}

.accounting-je-dropdown-menu {
  min-width: 12rem;
  padding: 0.375rem;
  border: 1px solid var(--accounting-je-border);
  border-radius: 7px;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.14);
  font-size: var(--cicosy-text-base);
}

.accounting-je-dropdown-menu .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.5rem 0.625rem;
  border-radius: 4px;
  color: var(--accounting-je-text);
}

.accounting-je-dropdown-menu .dropdown-item:hover {
  background: var(--accounting-je-primary-soft);
  color: var(--accounting-je-primary);
}

.accounting-je-modal {
  border: 0;
  border-radius: 10px;
  box-shadow: 0 1.25rem 3.75rem rgba(20, 44, 82, 0.2);
}

.accounting-je-modal .modal-title {
  color: var(--accounting-je-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-xl);
  font-weight: 700;
}

.accounting-je-toast {
  position: fixed;
  z-index: 1090;
  top: 1rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 24rem;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.9375rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-je-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (min-width: 36rem) {
  .accounting-je-header {
    min-height: 4.25rem;
    padding-inline: 1.5rem;
  }

  .accounting-je-tabs-wrap,
  .accounting-je-summary,
  .accounting-je-line-section,
  .accounting-je-footer {
    padding-inline: 1.5rem;
  }

  .accounting-je-summary-column:first-child {
    padding-right: 1.75rem;
  }

  .accounting-je-summary-column:last-child {
    padding-left: 1.75rem;
  }

  .accounting-je-detail-row {
    grid-template-columns: minmax(6.5rem, 0.9fr) minmax(0, 1.1fr);
  }
}

@media (max-width: 35.98rem) {
  .accounting-je-summary-grid {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }

  .accounting-je-summary-column:first-child {
    padding-right: 0;
    padding-bottom: 0.875rem;
    border-right: 0;
    border-bottom: 1px solid var(--accounting-je-border-soft);
  }

  .accounting-je-summary-column:last-child {
    padding-left: 0;
  }

  .accounting-je-detail-row {
    grid-template-columns: minmax(5.5rem, 0.8fr) minmax(0, 1.2fr);
  }

  .accounting-je-footer-inner {
    justify-content: center;
  }

  .accounting-je-reverse-button {
    flex: 0 1 auto;
  }
}

@container (max-width: 34rem) {
  .accounting-je-header {
    padding-inline: 1rem;
  }

  .accounting-je-tabs-wrap,
  .accounting-je-summary,
  .accounting-je-line-section,
  .accounting-je-footer {
    padding-inline: 1rem;
  }

  .accounting-je-summary-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.875rem;
  }

  .accounting-je-summary-column:first-child {
    padding-right: 0;
    padding-bottom: 0.875rem;
    border-right: 0;
    border-bottom: 1px solid var(--accounting-je-border-soft);
  }

  .accounting-je-summary-column:last-child {
    padding-left: 0;
  }

  .accounting-je-detail-row {
    grid-template-columns: minmax(7.25rem, auto) minmax(0, 1fr);
  }

  .accounting-je-detail-row dd {
    text-align: right;
  }
}

@container (max-width: 25rem) {
  .accounting-je-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .accounting-je-actions {
    align-self: flex-end;
  }

  .accounting-je-detail-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.2rem;
  }

  .accounting-je-detail-row dd {
    text-align: left;
  }
}

/* Accounting Account Detail */
.accounting-account-detail-shell > .cicosy-card-shell-body {
  padding: 0;
  overflow: hidden;
}

.accounting-account-detail {
  --accounting-account-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-account-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-account-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-account-border-soft: #e7eef0;
  --accounting-account-heading: var(--cicosy-text-strong, #17233c);
  --accounting-account-text: var(--cicosy-text-body, #26344d);
  --accounting-account-muted: var(--cicosy-text-muted, #667085);
  --accounting-account-success: #198754;
  --accounting-account-success-soft: #eaf8f1;
  position: relative;
  min-height: 33rem;
  background: #fff;
  color: var(--accounting-account-text);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-account-detail-panel {
  display: flex;
  min-height: inherit;
  flex-direction: column;
}

.accounting-account-detail-header {
  display: flex;
  min-height: 3.375rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--accounting-account-border-soft);
}

.accounting-account-detail-title,
.accounting-account-detail-section-title,
.accounting-account-detail-name {
  margin: 0;
  color: var(--accounting-account-heading);
  font-family: var(--cicosy-font-display);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-account-detail-title {
  font-size: var(--cicosy-text-lg);
}

.accounting-account-detail-close {
  display: inline-flex;
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  flex: 0 0 var(--cicosy-icon-button-size);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--accounting-account-heading);
  font-size: var(--cicosy-text-base);
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.accounting-account-detail-close:hover {
  background: var(--accounting-account-primary-soft);
  color: var(--accounting-account-primary);
}

.accounting-account-detail-close:active {
  transform: translateY(1px);
}

.accounting-account-detail-identity {
  padding: 0.875rem 1rem 1rem;
  border-bottom: 1px solid var(--accounting-account-border-soft);
}

.accounting-account-detail-number {
  margin: 0 0 0.35rem;
  color: var(--accounting-account-primary);
  font-size: var(--cicosy-text-xl);
  font-weight: 800;
  line-height: var(--cicosy-line-tight);
}

.accounting-account-detail-name-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
}

.accounting-account-detail-name {
  overflow: hidden;
  font-size: var(--cicosy-text-lg);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-account-detail-status {
  display: inline-flex;
  min-height: 1.25rem;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.45rem;
  border: 1px solid var(--accounting-account-border);
  border-radius: 3px;
  background: var(--accounting-account-primary-soft);
  color: var(--accounting-account-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.accounting-account-detail-status--success {
  border-color: #9edfc1;
  background: var(--accounting-account-success-soft);
  color: var(--accounting-account-success);
}

.accounting-account-detail-status--warning {
  border-color: #f8d7a3;
  background: #fff8e7;
  color: #946200;
}

.accounting-account-detail-status--danger {
  border-color: #ffc9cf;
  background: #fff1f3;
  color: #d92535;
}

.accounting-account-detail-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0.625rem 1rem;
}

.accounting-account-detail-row,
.accounting-account-detail-balance-row {
  display: grid;
  grid-template-columns: minmax(7.5rem, 0.95fr) minmax(0, 1.05fr);
  align-items: start;
  gap: 0.625rem;
  min-height: 2rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--accounting-account-border-soft);
}

.accounting-account-detail-row:last-child,
.accounting-account-detail-balance-row:last-child {
  border-bottom: 0;
}

.accounting-account-detail-row dt,
.accounting-account-detail-row dd,
.accounting-account-detail-balance-row dt,
.accounting-account-detail-balance-row dd {
  margin: 0;
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-account-detail-row dt,
.accounting-account-detail-balance-row dt {
  color: var(--accounting-account-muted);
  font-weight: 600;
}

.accounting-account-detail-row dd,
.accounting-account-detail-balance-row dd {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--accounting-account-heading);
  font-weight: 700;
  text-align: right;
}

.accounting-account-detail-link-value {
  color: var(--accounting-account-primary) !important;
  font-weight: 800 !important;
}

.accounting-account-detail-section {
  padding: 0.875rem 1rem 1rem;
  border-top: 1px solid var(--accounting-account-border-soft);
}

.accounting-account-detail-section-title {
  margin-bottom: 0.625rem;
  font-size: var(--cicosy-text-base);
}

.accounting-account-detail-balance-list {
  display: grid;
  margin: 0;
}

.accounting-account-detail-balance-row {
  grid-template-columns: minmax(9rem, 1fr) max-content;
  min-height: 1.9rem;
  padding-inline: 0.5rem;
}

.accounting-account-detail-balance-row--highlight {
  border-bottom: 0;
  background: var(--accounting-account-primary-soft);
}

.accounting-account-detail-balance-row--highlight dt,
.accounting-account-detail-balance-row--highlight dd {
  color: var(--accounting-account-primary);
  font-weight: 800;
}

.accounting-account-detail-table-scroll {
  width: 100%;
  overflow-x: auto;
  border-top: 1px solid var(--accounting-account-border-soft);
  scrollbar-width: thin;
}

.accounting-account-detail-table {
  width: 100%;
  min-width: 27rem;
  margin: 0;
  table-layout: fixed;
  border-collapse: collapse;
}

.accounting-account-detail-table th,
.accounting-account-detail-table td {
  padding: 0.55rem 0.45rem;
  border-bottom: 1px solid var(--accounting-account-border-soft);
  vertical-align: middle;
}

.accounting-account-detail-table th {
  background: #f8fafc;
  color: var(--accounting-account-heading);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-transform: uppercase;
  letter-spacing: 0;
  white-space: nowrap;
}

.accounting-account-detail-table td {
  color: var(--accounting-account-text);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-account-detail-table th:first-child,
.accounting-account-detail-table td:first-child {
  width: 32%;
}

.accounting-account-detail-table th:not(:first-child),
.accounting-account-detail-table td:not(:first-child) {
  width: 22.666%;
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-account-detail-table tbody tr:hover {
  background: var(--accounting-account-primary-soft);
}

.accounting-account-detail-section--actions {
  padding-bottom: 1.125rem;
}

.accounting-account-detail-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 0.85rem;
}

.accounting-account-detail-action {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accounting-account-primary);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-align: left;
}

.accounting-account-detail-action:hover {
  color: var(--accounting-account-primary);
  text-decoration: underline;
}

.accounting-account-detail-action:focus-visible {
  border-radius: 3px;
  outline: 2px solid var(--accounting-account-primary);
  outline-offset: 3px;
}

.accounting-account-detail-action i {
  flex: 0 0 auto;
  font-size: var(--cicosy-text-base);
}

.accounting-account-detail-action span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.accounting-account-detail-closed {
  min-height: inherit;
  place-items: center;
  gap: 0.75rem;
  padding: 2rem 1rem;
  text-align: center;
}

.accounting-account-detail.is-closed .accounting-account-detail-closed {
  display: grid;
}

.accounting-account-detail-closed p {
  margin: 0;
  color: var(--accounting-account-muted);
  font-size: var(--cicosy-text-base);
  font-weight: 600;
}

.accounting-account-detail-toast {
  position: absolute;
  z-index: 5;
  top: 0.75rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 22rem;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.75rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-account-detail-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (min-width: 36rem) {
  .accounting-account-detail-header,
  .accounting-account-detail-identity,
  .accounting-account-detail-list,
  .accounting-account-detail-section {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 35.98rem) {
  .accounting-account-detail {
    min-height: 30rem;
  }

  .accounting-account-detail-name-row,
  .accounting-account-detail-actions-grid {
    grid-template-columns: 1fr;
  }

  .accounting-account-detail-name-row {
    display: grid;
    align-items: start;
  }

  .accounting-account-detail-name {
    white-space: normal;
  }

  .accounting-account-detail-row,
  .accounting-account-detail-balance-row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .accounting-account-detail-row dd,
  .accounting-account-detail-balance-row dd {
    text-align: left;
  }
}

/* Accounting Bank Account Detail */
.accounting-bank-detail-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-bank-detail {
  --accounting-bank-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-bank-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-bank-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-bank-border-soft: #e7eef0;
  --accounting-bank-heading: var(--cicosy-text-strong, #17233c);
  --accounting-bank-text: var(--cicosy-text-body, #26344d);
  --accounting-bank-muted: var(--cicosy-text-muted, #667085);
  --accounting-bank-success: #198754;
  --accounting-bank-success-soft: #eaf8f1;
  --accounting-bank-warning: #946200;
  --accounting-bank-warning-soft: #fff8e7;
  --accounting-bank-danger: #d92535;
  --accounting-bank-danger-soft: #fff1f3;
  position: relative;
  min-height: 36rem;
  height: 100%;
  background: #fff;
  color: var(--accounting-bank-text);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-bank-view {
  display: flex;
  min-height: inherit;
  height: 100%;
  flex-direction: column;
}

.accounting-bank-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1rem 0.65rem;
  border-bottom: 1px solid var(--accounting-bank-border-soft);
}

.accounting-bank-identity,
.accounting-bank-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
}

.accounting-bank-actions {
  flex-shrink: 0;
  gap: 0.25rem;
}

.accounting-bank-number,
.accounting-bank-section-title,
.accounting-bank-section-head h3,
.accounting-bank-closed h2 {
  margin: 0;
  color: var(--accounting-bank-heading);
  font-family: var(--cicosy-font-display);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-bank-number {
  overflow: hidden;
  font-size: var(--cicosy-text-lg);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.accounting-bank-status,
.accounting-bank-type,
.accounting-bank-pill {
  display: inline-flex;
  min-height: 1.25rem;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.125rem 0.45rem;
  border: 1px solid var(--accounting-bank-border);
  border-radius: 999px;
  background: var(--accounting-bank-primary-soft);
  color: var(--accounting-bank-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.accounting-bank-status-dot {
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: currentColor;
}

.accounting-bank-status--success,
.accounting-bank-pill--success {
  border-color: #9edfc1;
  background: var(--accounting-bank-success-soft);
  color: var(--accounting-bank-success);
}

.accounting-bank-status--warning,
.accounting-bank-pill--warning {
  border-color: #f8d7a3;
  background: var(--accounting-bank-warning-soft);
  color: var(--accounting-bank-warning);
}

.accounting-bank-status--danger,
.accounting-bank-pill--danger {
  border-color: #ffc9cf;
  background: var(--accounting-bank-danger-soft);
  color: var(--accounting-bank-danger);
}

.accounting-bank-status--secondary,
.accounting-bank-pill--secondary {
  color: var(--accounting-bank-muted);
  background: #f8fafc;
  border-color: var(--accounting-bank-border-soft);
}

.accounting-bank-type {
  border-radius: 4px;
}

.accounting-bank-icon-button {
  display: inline-flex;
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  flex: 0 0 var(--cicosy-icon-button-size);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--accounting-bank-heading);
  font-size: var(--cicosy-text-base);
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.accounting-bank-icon-button:hover {
  background: var(--accounting-bank-primary-soft);
  color: var(--accounting-bank-primary);
}

.accounting-bank-icon-button:active {
  transform: translateY(1px);
}

.accounting-bank-tabs-wrap {
  padding: 0 1rem;
}

.accounting-bank-tabs {
  display: flex;
  min-height: 2.875rem;
  align-items: flex-end;
  gap: 1rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--accounting-bank-border-soft);
  scrollbar-width: none;
}

.accounting-bank-tabs::-webkit-scrollbar {
  display: none;
}

.accounting-bank-tab {
  position: relative;
  flex: 0 0 auto;
  min-height: 2.875rem;
  padding: 0 0.0625rem 0.75rem;
  border: 0;
  background: transparent;
  color: var(--accounting-bank-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  white-space: nowrap;
  transition: color 160ms ease;
}

.accounting-bank-tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--accounting-bank-primary);
  content: "";
  opacity: 0;
  transform: scaleX(0.25);
  transition: opacity 160ms ease, transform 160ms ease;
}

.accounting-bank-tab:hover,
.accounting-bank-tab.is-active {
  color: var(--accounting-bank-primary);
}

.accounting-bank-tab.is-active {
  font-weight: 700;
}

.accounting-bank-tab.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.accounting-bank-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.875rem 1rem 1rem;
}

.accounting-bank-panel {
  display: none;
}

.accounting-bank-panel.is-active {
  display: block;
}

.accounting-bank-summary-card,
.accounting-bank-section {
  padding: 0.875rem;
  border: 1px solid var(--accounting-bank-border-soft);
  border-radius: 7px;
  background: #fff;
}

.accounting-bank-section {
  margin-top: 0.75rem;
}

.accounting-bank-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.accounting-bank-section-head h3,
.accounting-bank-section-title {
  font-size: var(--cicosy-text-lg);
}

.accounting-bank-section-head p {
  margin: 0.15rem 0 0;
  color: var(--accounting-bank-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-bank-detail-list,
.accounting-bank-balance-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.accounting-bank-detail-row,
.accounting-bank-balance-row {
  display: grid;
  grid-template-columns: minmax(7rem, 0.95fr) minmax(0, 1.05fr);
  align-items: start;
  gap: 0.625rem;
  min-height: 1.875rem;
  padding: 0.425rem 0;
  border-bottom: 1px solid var(--accounting-bank-border-soft);
}

.accounting-bank-detail-row:last-child,
.accounting-bank-balance-row:last-child {
  border-bottom: 0;
}

.accounting-bank-detail-row dt,
.accounting-bank-detail-row dd,
.accounting-bank-balance-row dt,
.accounting-bank-balance-row dd {
  margin: 0;
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-bank-detail-row dt,
.accounting-bank-balance-row dt {
  color: var(--accounting-bank-muted);
  font-weight: 600;
}

.accounting-bank-detail-row dd,
.accounting-bank-balance-row dd {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--accounting-bank-heading);
  font-weight: 700;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.accounting-bank-balance-row--highlight {
  margin-top: 0.35rem;
  padding: 0.625rem 0.5rem;
  border: 0;
  border-radius: 4px;
  background: var(--accounting-bank-primary-soft);
}

.accounting-bank-balance-row--highlight dt,
.accounting-bank-balance-row--highlight dd {
  color: var(--accounting-bank-primary);
  font-weight: 800;
}

.accounting-bank-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem 0.5rem;
}

.accounting-bank-action-link,
.accounting-bank-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accounting-bank-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-bank-action-link {
  min-height: 2rem;
  justify-content: flex-start;
  padding: 0.35rem 0.25rem;
  border-radius: 4px;
  text-align: left;
}

.accounting-bank-action-link:hover,
.accounting-bank-text-link:hover {
  color: var(--accounting-bank-primary);
  text-decoration: underline;
}

.accounting-bank-action-link:hover {
  background: var(--accounting-bank-primary-soft);
  text-decoration: none;
}

.accounting-bank-activity-list,
.accounting-bank-list {
  display: grid;
  gap: 0;
}

.accounting-bank-activity-row {
  display: grid;
  grid-template-columns: 4.75rem minmax(0, 1fr) 4rem;
  align-items: center;
  gap: 0.625rem;
  min-height: 2.25rem;
  border-bottom: 1px solid var(--accounting-bank-border-soft);
}

.accounting-bank-activity-row:last-child {
  border-bottom: 0;
}

.accounting-bank-activity-row span,
.accounting-bank-activity-row strong {
  min-width: 0;
  overflow: hidden;
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-bank-activity-row span {
  color: var(--accounting-bank-muted);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.accounting-bank-activity-row strong {
  color: var(--accounting-bank-heading);
  font-weight: 700;
}

.accounting-bank-filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(6.5rem, 0.45fr);
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.accounting-bank-field {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.accounting-bank-field span {
  color: var(--accounting-bank-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-transform: uppercase;
}

.accounting-bank-control {
  width: 100%;
  min-height: var(--cicosy-button-height);
  padding: 0.375rem 0.55rem;
  border: 1px solid var(--accounting-bank-border);
  border-radius: 4px;
  background: #fff;
  color: var(--accounting-bank-heading);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-bank-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.accounting-bank-metric {
  padding: 0.65rem;
  border: 1px solid var(--accounting-bank-border-soft);
  border-radius: 6px;
  background: #f8fafc;
}

.accounting-bank-metric span,
.accounting-bank-list-main span,
.accounting-bank-list-meta span:last-child {
  color: var(--accounting-bank-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-bank-metric strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--accounting-bank-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 800;
  line-height: var(--cicosy-line-tight);
  font-variant-numeric: tabular-nums;
}

.accounting-bank-list {
  overflow: hidden;
  border: 1px solid var(--accounting-bank-border-soft);
  border-radius: 7px;
}

.accounting-bank-list-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.625rem;
  min-height: 3rem;
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--accounting-bank-border-soft);
}

.accounting-bank-list-row:last-child {
  border-bottom: 0;
}

.accounting-bank-list-icon {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--accounting-bank-border);
  border-radius: 6px;
  background: var(--accounting-bank-primary-soft);
  color: var(--accounting-bank-primary);
  font-size: var(--cicosy-text-md);
}

.accounting-bank-list-main {
  min-width: 0;
}

.accounting-bank-list-main strong {
  display: block;
  overflow: hidden;
  color: var(--accounting-bank-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-bank-list-main span {
  display: block;
  margin-top: 0.15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-bank-list-meta {
  display: grid;
  justify-items: end;
  gap: 0.25rem;
}

.accounting-bank-amount {
  color: var(--accounting-bank-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.accounting-bank-amount--credit {
  color: var(--accounting-bank-success);
}

.accounting-bank-empty {
  padding: 1.75rem 1rem;
  color: var(--accounting-bank-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  text-align: center;
}

.accounting-bank-closed {
  display: none;
  min-height: inherit;
  place-items: center;
  padding: 1rem;
  text-align: center;
}

.accounting-bank-detail.is-closed .accounting-bank-closed {
  display: grid;
}

.accounting-bank-closed p {
  max-width: 20rem;
  margin: 0.35rem auto 0.85rem;
  color: var(--accounting-bank-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-normal);
}

.accounting-bank-toast {
  position: fixed;
  z-index: 1090;
  top: 1rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 24rem;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.9375rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-bank-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 35.98rem) {
  .accounting-bank-header,
  .accounting-bank-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .accounting-bank-actions {
    align-self: flex-start;
  }

  .accounting-bank-detail-row,
  .accounting-bank-balance-row,
  .accounting-bank-filter-row,
  .accounting-bank-metric-grid,
  .accounting-bank-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .accounting-bank-detail-row dd,
  .accounting-bank-balance-row dd {
    text-align: left;
  }

  .accounting-bank-list-row,
  .accounting-bank-transaction-row {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .accounting-bank-amount,
  .accounting-bank-list-meta,
  .accounting-bank-list-row > .accounting-bank-icon-button {
    grid-column: 2;
    justify-self: start;
    text-align: left;
  }
}

/* Accounting Report Center */
.accounting-report-center-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-report-center {
  --accounting-report-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-report-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-report-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-report-border-soft: #e7eef0;
  --accounting-report-heading: var(--cicosy-text-strong, #17233c);
  --accounting-report-text: var(--cicosy-text-body, #26344d);
  --accounting-report-muted: var(--cicosy-text-muted, #667085);
  position: relative;
  min-height: 36rem;
  height: 100%;
  background: #fff;
  color: var(--accounting-report-text);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-report-center-view {
  display: flex;
  min-height: inherit;
  height: 100%;
  flex-direction: column;
}

.accounting-report-center-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1rem 0.65rem;
  border-bottom: 1px solid var(--accounting-report-border-soft);
}

.accounting-report-center-header h2,
.accounting-report-center-section-head h3,
.accounting-report-center-quick-section h3,
.accounting-report-center-help h3,
.accounting-report-center-closed h2 {
  margin: 0;
  color: var(--accounting-report-heading);
  font-family: var(--cicosy-font-display);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-report-center-header h2 {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
  overflow: hidden;
  font-size: var(--cicosy-text-lg);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-report-center-header h2 i {
  color: var(--accounting-report-primary);
}

.accounting-report-center-icon-button {
  display: inline-flex;
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  flex: 0 0 var(--cicosy-icon-button-size);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--accounting-report-heading);
  font-size: var(--cicosy-text-base);
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.accounting-report-center-icon-button:hover {
  background: var(--accounting-report-primary-soft);
  color: var(--accounting-report-primary);
}

.accounting-report-center-icon-button:active {
  transform: translateY(1px);
}

.accounting-report-center-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.875rem 1rem 1rem;
}

.accounting-report-center-panel,
.accounting-report-center-detail-panel,
.accounting-report-center-help {
  padding: 0.875rem;
  border: 1px solid var(--accounting-report-border-soft);
  border-radius: 7px;
  background: #fff;
}

.accounting-report-center-detail-panel,
.accounting-report-center-quick-section,
.accounting-report-center-help {
  margin-top: 0.75rem;
}

.accounting-report-center-detail-panel {
  display: none;
}

.accounting-report-center-detail-panel.is-active {
  display: block;
}

.accounting-report-center-metric-stack,
.accounting-report-center-quick-actions,
.accounting-report-center-list {
  display: grid;
  gap: 0.625rem;
}

.accounting-report-center-metric {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 1.75rem;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 5.25rem;
  padding: 0.75rem;
  border: 1px solid var(--accounting-report-border-soft);
  border-radius: 7px;
  background: #fff;
  color: var(--accounting-report-text);
  text-align: left;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.accounting-report-center-metric:hover {
  border-color: var(--accounting-report-border);
  background: var(--accounting-report-primary-soft);
  transform: translateY(-1px);
}

.accounting-report-center-metric-icon,
.accounting-report-center-list-icon,
.accounting-report-center-help-icon {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid var(--accounting-report-border);
  border-radius: 7px;
  background: var(--accounting-report-primary-soft);
  color: var(--accounting-report-primary);
  font-size: var(--cicosy-text-md);
}

.accounting-report-center-metric-copy {
  min-width: 0;
}

.accounting-report-center-metric-title,
.accounting-report-center-metric-label,
.accounting-report-center-metric-detail,
.accounting-report-center-metric-detail span {
  display: block;
}

.accounting-report-center-metric-title {
  color: var(--accounting-report-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-report-center-metric-value {
  display: block;
  margin-top: 0.35rem;
  color: var(--accounting-report-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-xl);
  font-weight: 800;
  line-height: var(--cicosy-line-tight);
  font-variant-numeric: tabular-nums;
}

.accounting-report-center-metric-label,
.accounting-report-center-metric-detail,
.accounting-report-center-section-head p,
.accounting-report-center-help p {
  color: var(--accounting-report-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-report-center-metric-detail {
  margin-top: 0.45rem;
}

.accounting-report-center-metric-detail strong {
  display: block;
  overflow: hidden;
  color: var(--accounting-report-heading);
  font-size: var(--cicosy-text-xs);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-report-center-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--accounting-report-heading);
  transition: color 160ms ease, transform 160ms ease;
}

.accounting-report-center-metric:hover .accounting-report-center-arrow {
  color: var(--accounting-report-primary);
  transform: translateX(2px);
}

.accounting-report-center-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.accounting-report-center-section-head h3,
.accounting-report-center-quick-section h3,
.accounting-report-center-help h3 {
  font-size: var(--cicosy-text-lg);
}

.accounting-report-center-section-head p,
.accounting-report-center-help p {
  margin: 0.15rem 0 0;
}

.accounting-report-center-list {
  overflow: hidden;
  border: 1px solid var(--accounting-report-border-soft);
  border-radius: 7px;
}

.accounting-report-center-list-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: 0.625rem;
  min-height: 3rem;
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--accounting-report-border-soft);
}

.accounting-report-center-list-row:last-child {
  border-bottom: 0;
}

.accounting-report-center-list-main,
.accounting-report-center-list-row div {
  min-width: 0;
}

.accounting-report-center-list-row strong {
  display: block;
  overflow: hidden;
  color: var(--accounting-report-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-report-center-list-row span:not(.accounting-report-center-list-icon) {
  display: block;
  margin-top: 0.15rem;
  overflow: hidden;
  color: var(--accounting-report-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-report-center-quick-section {
  padding: 0.25rem 0.125rem 0;
}

.accounting-report-center-quick-section h3 {
  margin-bottom: 0.625rem;
}

.accounting-report-center-action,
.accounting-report-center-help a {
  display: inline-flex;
  min-height: 2rem;
  min-width: 0;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  padding: 0.35rem 0.25rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--accounting-report-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-align: left;
  text-decoration: none;
}

.accounting-report-center-action:hover,
.accounting-report-center-help a:hover {
  background: var(--accounting-report-primary-soft);
  color: var(--accounting-report-primary);
  text-decoration: none;
}

.accounting-report-center-help {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 0.75rem;
  background: #fbfdfb;
}

.accounting-report-center-help p {
  margin-bottom: 0.45rem;
}

.accounting-report-center-closed {
  display: none;
  min-height: inherit;
  place-items: center;
  padding: 2rem 1rem;
  text-align: center;
}

.accounting-report-center.is-closed .accounting-report-center-closed {
  display: grid;
}

.accounting-report-center-closed p {
  max-width: 20rem;
  margin: 0.35rem auto 0.85rem;
  color: var(--accounting-report-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-report-center-toast {
  position: fixed;
  z-index: 1090;
  top: 1rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 24rem;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.9375rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-report-center-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 35.98rem) {
  .accounting-report-center-header,
  .accounting-report-center-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .accounting-report-center-metric {
    grid-template-columns: 2.25rem minmax(0, 1fr);
  }

  .accounting-report-center-arrow {
    grid-column: 2;
    justify-content: flex-start;
  }
}

/* Accounting Trial Balance Detail */
.accounting-trial-balance-detail-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-trial-detail {
  --accounting-trial-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-trial-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-trial-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-trial-border-soft: #e7eef0;
  --accounting-trial-heading: var(--cicosy-text-strong, #17233c);
  --accounting-trial-text: var(--cicosy-text-body, #26344d);
  --accounting-trial-muted: var(--cicosy-text-muted, #667085);
  position: relative;
  container: accounting-trial-detail / inline-size;
  min-height: 36rem;
  height: 100%;
  background: #fff;
  color: var(--accounting-trial-text);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-trial-view {
  display: flex;
  min-height: inherit;
  height: 100%;
  flex-direction: column;
}

.accounting-trial-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--accounting-trial-border-soft);
}

.accounting-trial-identity {
  min-width: 0;
}

.accounting-trial-identity h2,
.accounting-trial-section-head h3,
.accounting-trial-closed h2 {
  margin: 0;
  color: var(--accounting-trial-heading);
  font-family: var(--cicosy-font-display);
  font-weight: 800;
  line-height: var(--cicosy-line-tight);
}

.accounting-trial-identity h2 {
  overflow: hidden;
  font-size: var(--cicosy-text-lg);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-trial-identity p,
.accounting-trial-section-head p,
.accounting-trial-activity-total p {
  margin: 0.2rem 0 0;
  color: var(--accounting-trial-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-trial-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.25rem;
}

.accounting-trial-icon-button {
  display: inline-grid;
  width: var(--cicosy-icon-button-size, 1.875rem);
  height: var(--cicosy-icon-button-size, 1.875rem);
  place-items: center;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--accounting-trial-heading);
  font-size: var(--cicosy-text-md);
  line-height: 1;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.accounting-trial-icon-button:hover {
  border-color: var(--accounting-trial-border);
  background: var(--accounting-trial-primary-soft);
  color: var(--accounting-trial-primary);
}

.accounting-trial-body {
  display: grid;
  gap: 0.875rem;
  padding: 1rem;
}

.accounting-trial-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.accounting-trial-section--stats {
  gap: 0;
}

.accounting-trial-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.accounting-trial-stat-grid .cicosy-widget-finance-stat-card > .cicosy-card-shell-body {
  min-height: 5.5rem;
}

.accounting-trial-stat-grid .cicosy-widget-finance-stat,
.accounting-trial-stat-grid .cicosy-widget-content {
  min-width: 0;
}

@container accounting-trial-detail (max-width: 34rem) {
  .accounting-trial-stat-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.accounting-trial-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.accounting-trial-section-head h3 {
  font-size: var(--cicosy-text-md);
}

.accounting-trial-activity-total {
  display: grid;
  justify-items: center;
  gap: 0.65rem;
  padding: 0.875rem;
  border: 1px solid var(--accounting-trial-border-soft);
  border-radius: 5px;
  background: #fbfdfb;
  text-align: center;
}

.accounting-trial-ring {
  display: grid;
  width: 7rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #fff 0 56%, transparent 57%),
    conic-gradient(var(--accounting-trial-primary) 0 58%, #dc3545 58% 82%, #f59f00 82% 95%, #dfe8e0 95% 100%);
}

.accounting-trial-ring > span {
  display: grid;
  gap: 0.1rem;
  text-align: center;
}

.accounting-trial-ring small {
  color: var(--accounting-trial-muted);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: var(--cicosy-line-tight);
}

.accounting-trial-ring strong {
  color: var(--accounting-trial-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 900;
  line-height: var(--cicosy-line-tight);
}

.accounting-trial-bar-list {
  display: grid;
  gap: 0.55rem;
}

.accounting-trial-bar-row {
  display: grid;
  grid-template-columns: minmax(6.5rem, 0.9fr) minmax(5rem, 1fr) auto 3.25rem;
  align-items: center;
  gap: 0.5rem;
}

.accounting-trial-bar-label {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.4rem;
}

.accounting-trial-bar-label span {
  flex: 0 0 auto;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 2px;
  background: var(--trial-row-tone);
}

.accounting-trial-bar-label strong,
.accounting-trial-bar-amount {
  overflow: hidden;
  color: var(--accounting-trial-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-trial-bar-track {
  height: 0.5rem;
  overflow: hidden;
  border-radius: 999px;
  background: #edf2ee;
}

.accounting-trial-bar-track span {
  display: block;
  width: var(--trial-row-width);
  height: 100%;
  border-radius: inherit;
  background: var(--trial-row-tone);
}

.accounting-trial-bar-amount {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.accounting-trial-bar-percent {
  color: var(--accounting-trial-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.accounting-trial-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.accounting-trial-action-link {
  display: inline-flex;
  min-width: 0;
  min-height: 2.5rem;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  border: 1px solid var(--accounting-trial-border);
  border-radius: 4px;
  background: #fff;
  color: var(--accounting-trial-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-align: left;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.accounting-trial-action-link:hover {
  border-color: var(--accounting-trial-primary);
  background: var(--accounting-trial-primary-soft);
}

.accounting-trial-action-link i {
  flex: 0 0 auto;
}

.accounting-trial-action-link span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-trial-activity-list {
  overflow: hidden;
  border: 1px solid var(--accounting-trial-border-soft);
  border-radius: 5px;
}

.accounting-trial-activity-row {
  display: grid;
  grid-template-columns: 6.75rem minmax(0, 1fr) 4.75rem;
  align-items: center;
  gap: 0.625rem;
  min-height: 3rem;
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--accounting-trial-border-soft);
}

.accounting-trial-activity-row:last-child {
  border-bottom: 0;
}

.accounting-trial-activity-row time,
.accounting-trial-activity-row > span {
  color: var(--accounting-trial-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  white-space: nowrap;
}

.accounting-trial-activity-row strong {
  display: block;
  overflow: hidden;
  color: var(--accounting-trial-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-trial-activity-row div span {
  display: block;
  margin-top: 0.1rem;
  color: var(--accounting-trial-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
}

.accounting-trial-closed {
  display: none;
  min-height: inherit;
  place-items: center;
  padding: 1rem;
  text-align: center;
}

.accounting-trial-detail.is-closed .accounting-trial-closed {
  display: grid;
}

.accounting-trial-closed p {
  max-width: 20rem;
  margin: 0.35rem auto 0.85rem;
  color: var(--accounting-trial-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-normal);
}

.accounting-trial-toast {
  position: fixed;
  z-index: 1090;
  top: 1rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 24rem;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.9375rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-trial-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 35.98rem) {
  .accounting-trial-header,
  .accounting-trial-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .accounting-trial-actions {
    align-self: flex-start;
  }

  .accounting-trial-stat-grid,
  .accounting-trial-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .accounting-trial-bar-row {
    grid-template-columns: minmax(0, 1fr) 4rem;
  }

  .accounting-trial-bar-track,
  .accounting-trial-bar-amount {
    grid-column: 1;
  }

  .accounting-trial-bar-percent {
    grid-column: 2;
    grid-row: 1;
  }

  .accounting-trial-activity-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Accounting Reconciliation Summary */
.accounting-reconciliation-summary-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-reconciliation-summary {
  --accounting-reconciliation-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-reconciliation-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-reconciliation-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-reconciliation-border-soft: #e7eef0;
  --accounting-reconciliation-heading: var(--cicosy-text-strong, #17233c);
  --accounting-reconciliation-text: var(--cicosy-text-body, #26344d);
  --accounting-reconciliation-muted: var(--cicosy-text-muted, #667085);
  position: relative;
  min-height: 36rem;
  height: 100%;
  background: #fff;
  color: var(--accounting-reconciliation-text);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-reconciliation-view {
  display: flex;
  min-height: inherit;
  height: 100%;
  flex-direction: column;
}

.accounting-reconciliation-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--accounting-reconciliation-border-soft);
}

.accounting-reconciliation-identity {
  min-width: 0;
}

.accounting-reconciliation-identity h2,
.accounting-reconciliation-section-head h3,
.accounting-reconciliation-closed h2 {
  margin: 0;
  color: var(--accounting-reconciliation-heading);
  font-family: var(--cicosy-font-display);
  font-weight: 800;
  line-height: var(--cicosy-line-tight);
}

.accounting-reconciliation-identity h2 {
  overflow: hidden;
  font-size: var(--cicosy-text-lg);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-reconciliation-identity p {
  margin: 0.2rem 0 0;
  color: var(--accounting-reconciliation-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-reconciliation-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.25rem;
}

.accounting-reconciliation-icon-button {
  display: inline-grid;
  width: var(--cicosy-icon-button-size, 1.875rem);
  height: var(--cicosy-icon-button-size, 1.875rem);
  place-items: center;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--accounting-reconciliation-heading);
  font-size: var(--cicosy-text-md);
  line-height: 1;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.accounting-reconciliation-icon-button:hover {
  border-color: var(--accounting-reconciliation-border);
  background: var(--accounting-reconciliation-primary-soft);
  color: var(--accounting-reconciliation-primary);
}

.accounting-reconciliation-body {
  display: grid;
  gap: 0.875rem;
  padding: 1rem;
}

.accounting-reconciliation-section {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.accounting-reconciliation-section--chart {
  grid-template-columns: minmax(8.5rem, 0.85fr) minmax(8.5rem, 1fr);
  align-items: center;
  gap: 0.875rem;
}

.accounting-reconciliation-chart-wrap {
  display: grid;
  justify-items: center;
  min-width: 0;
}

.accounting-reconciliation-chart {
  width: 8.5rem;
  height: 8.5rem;
  display: grid;
  place-items: center;
}

.accounting-reconciliation-chart .cicosy-chartjs-canvas {
  width: 8.5rem !important;
  height: 8.5rem !important;
  max-width: 8.5rem;
  max-height: 8.5rem;
}

.accounting-reconciliation-chart-data {
  display: none;
}

.accounting-reconciliation-legend {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
  margin: 0;
}

.accounting-reconciliation-legend-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.5rem;
}

.accounting-reconciliation-legend-row dt {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
}

.accounting-reconciliation-legend-row dt span {
  width: 0.5rem;
  height: 0.5rem;
  flex: 0 0 auto;
  border-radius: 2px;
  background: var(--reconciliation-row-tone);
}

.accounting-reconciliation-legend-row dt strong,
.accounting-reconciliation-legend-row dd {
  overflow: hidden;
  color: var(--accounting-reconciliation-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-reconciliation-legend-row dd {
  margin: 0;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.accounting-reconciliation-legend-row dd small {
  color: var(--accounting-reconciliation-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
}

.accounting-reconciliation-health {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--accounting-reconciliation-border-soft);
  border-radius: 5px;
  background: #fbfdfb;
}

.accounting-reconciliation-health div {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.45rem;
  color: var(--accounting-reconciliation-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
}

.accounting-reconciliation-health strong {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border: 1px solid #addfc7;
  border-radius: 4px;
  background: #f2fff8;
  color: #13764d;
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-reconciliation-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.accounting-reconciliation-section-head h3 {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: var(--cicosy-text-md);
}

.accounting-reconciliation-section-head h3 i {
  color: var(--accounting-reconciliation-primary);
}

.accounting-reconciliation-deadlines {
  display: grid;
  gap: 0.25rem;
}

.accounting-reconciliation-deadline-button {
  display: grid;
  width: 100%;
  min-height: 2.65rem;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.5rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--accounting-reconciliation-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-align: left;
  transition: background-color 160ms ease;
}

.accounting-reconciliation-deadline-button:hover {
  background: var(--accounting-reconciliation-primary-soft);
}

.accounting-reconciliation-deadline-button > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-reconciliation-deadline-button > i {
  transition: transform 160ms ease;
}

.accounting-reconciliation-deadline-button[aria-expanded="true"] > i {
  transform: rotate(180deg);
}

.accounting-reconciliation-count {
  display: inline-flex;
  min-width: 1.75rem;
  min-height: 1.75rem;
  align-items: center;
  justify-content: center;
  padding: 0 0.4rem;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: #fff;
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: 1;
}

.accounting-reconciliation-count--danger { color: #dc3545; }
.accounting-reconciliation-count--warning { color: #c77700; }
.accounting-reconciliation-count--info { color: #0a94b2; }
.accounting-reconciliation-count--muted { color: var(--accounting-reconciliation-muted); }

.accounting-reconciliation-deadline-panel {
  margin: 0 0.5rem 0.5rem;
  padding: 0.65rem 0.75rem;
  border-left: 2px solid var(--accounting-reconciliation-border);
  border-radius: 0 4px 4px 0;
  background: #fbfdfb;
  color: var(--accounting-reconciliation-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-reconciliation-deadline-panel ul {
  margin: 0;
  padding-left: 1rem;
}

.accounting-reconciliation-deadline-panel li + li {
  margin-top: 0.25rem;
}

.accounting-reconciliation-deadline-panel p {
  margin: 0;
}

.accounting-reconciliation-text-link,
.accounting-reconciliation-action-link {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--accounting-reconciliation-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-align: left;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.accounting-reconciliation-text-link {
  justify-self: start;
  min-height: 2rem;
  padding: 0.35rem 0.5rem;
}

.accounting-reconciliation-action-link {
  min-height: 2.5rem;
  padding: 0.5rem 0.625rem;
  border-color: var(--accounting-reconciliation-border);
  background: #fff;
}

.accounting-reconciliation-text-link:hover,
.accounting-reconciliation-action-link:hover {
  border-color: var(--accounting-reconciliation-primary);
  background: var(--accounting-reconciliation-primary-soft);
}

.accounting-reconciliation-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.accounting-reconciliation-action-link i {
  flex: 0 0 auto;
}

.accounting-reconciliation-action-link span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-reconciliation-closed {
  display: none;
  min-height: inherit;
  place-items: center;
  padding: 1rem;
  text-align: center;
}

.accounting-reconciliation-summary.is-closed .accounting-reconciliation-closed {
  display: grid;
}

.accounting-reconciliation-closed p {
  max-width: 20rem;
  margin: 0.35rem auto 0.85rem;
  color: var(--accounting-reconciliation-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-normal);
}

.accounting-reconciliation-toast {
  position: fixed;
  z-index: 1090;
  top: 1rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 24rem;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.9375rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-reconciliation-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 35.98rem) {
  .accounting-reconciliation-header,
  .accounting-reconciliation-section-head,
  .accounting-reconciliation-health {
    align-items: stretch;
    flex-direction: column;
  }

  .accounting-reconciliation-actions {
    align-self: flex-start;
  }

  .accounting-reconciliation-section--chart,
  .accounting-reconciliation-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .accounting-reconciliation-legend {
    width: min(100%, 12rem);
    justify-self: center;
  }
}

/* Accounting Budget Detail */
.accounting-budget-detail-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-budget-detail {
  --accounting-budget-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-budget-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-budget-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-budget-border-soft: #e7eef0;
  --accounting-budget-heading: var(--cicosy-text-strong, #17233c);
  --accounting-budget-text: var(--cicosy-text-body, #26344d);
  --accounting-budget-muted: var(--cicosy-text-muted, #667085);
  --accounting-budget-success: #198754;
  --accounting-budget-success-soft: #eaf8f1;
  --accounting-budget-warning: #946200;
  --accounting-budget-warning-soft: #fff8e7;
  --accounting-budget-danger: #d92535;
  --accounting-budget-danger-soft: #fff1f3;
  position: relative;
  min-height: 36rem;
  height: 100%;
  background: #fff;
  color: var(--accounting-budget-text);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-budget-view {
  display: flex;
  min-height: inherit;
  height: 100%;
  flex-direction: column;
}

.accounting-budget-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1rem 0.65rem;
  border-bottom: 1px solid var(--accounting-budget-border-soft);
}

.accounting-budget-identity,
.accounting-budget-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
}

.accounting-budget-actions {
  flex-shrink: 0;
  gap: 0.25rem;
}

.accounting-budget-number,
.accounting-budget-section-title,
.accounting-budget-section-head h3,
.accounting-budget-closed h2 {
  margin: 0;
  color: var(--accounting-budget-heading);
  font-family: var(--cicosy-font-display);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-budget-number {
  overflow: hidden;
  font-size: var(--cicosy-text-lg);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-budget-status {
  display: inline-flex;
  min-height: 1.25rem;
  align-items: center;
  justify-content: center;
  padding: 0.125rem 0.45rem;
  border: 1px solid var(--accounting-budget-border);
  border-radius: 4px;
  background: var(--accounting-budget-primary-soft);
  color: var(--accounting-budget-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.accounting-budget-status--success {
  border-color: #9edfc1;
  background: var(--accounting-budget-success-soft);
  color: var(--accounting-budget-success);
}

.accounting-budget-status--warning {
  border-color: #f8d7a3;
  background: var(--accounting-budget-warning-soft);
  color: var(--accounting-budget-warning);
}

.accounting-budget-status--secondary {
  border-color: var(--accounting-budget-border-soft);
  background: #f8fafc;
  color: var(--accounting-budget-muted);
}

.accounting-budget-icon-button {
  display: inline-flex;
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  flex: 0 0 var(--cicosy-icon-button-size);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--accounting-budget-heading);
  font-size: var(--cicosy-text-base);
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.accounting-budget-icon-button:hover {
  background: var(--accounting-budget-primary-soft);
  color: var(--accounting-budget-primary);
}

.accounting-budget-icon-button:active {
  transform: translateY(1px);
}

.accounting-budget-tabs-wrap {
  padding: 0 1rem;
}

.accounting-budget-tabs {
  display: flex;
  min-height: 2.875rem;
  align-items: flex-end;
  gap: 1rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--accounting-budget-border-soft);
  scrollbar-width: none;
}

.accounting-budget-tabs::-webkit-scrollbar {
  display: none;
}

.accounting-budget-tab {
  position: relative;
  flex: 0 0 auto;
  min-height: 2.875rem;
  padding: 0 0.0625rem 0.75rem;
  border: 0;
  background: transparent;
  color: var(--accounting-budget-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  white-space: nowrap;
  transition: color 160ms ease;
}

.accounting-budget-tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--accounting-budget-primary);
  content: "";
  opacity: 0;
  transform: scaleX(0.25);
  transition: opacity 160ms ease, transform 160ms ease;
}

.accounting-budget-tab:hover,
.accounting-budget-tab.is-active {
  color: var(--accounting-budget-primary);
}

.accounting-budget-tab.is-active {
  font-weight: 700;
}

.accounting-budget-tab.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.accounting-budget-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.875rem 1rem 1rem;
}

.accounting-budget-panel {
  display: none;
}

.accounting-budget-panel.is-active {
  display: block;
}

.accounting-budget-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}

.accounting-budget-section {
  padding: 0.875rem;
  border: 1px solid var(--accounting-budget-border-soft);
  border-radius: 7px;
  background: #fff;
}

.accounting-budget-section + .accounting-budget-section,
.accounting-budget-summary-grid + .accounting-budget-section {
  margin-top: 0.75rem;
}

.accounting-budget-summary-grid .accounting-budget-section {
  margin-top: 0;
}

.accounting-budget-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.accounting-budget-section-head h3,
.accounting-budget-section-title {
  font-size: var(--cicosy-text-lg);
}

.accounting-budget-section-head p {
  margin: 0.15rem 0 0;
  color: var(--accounting-budget-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-budget-detail-list,
.accounting-budget-amount-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.accounting-budget-detail-row,
.accounting-budget-amount-row {
  display: grid;
  grid-template-columns: minmax(7rem, 0.95fr) minmax(0, 1.05fr);
  align-items: start;
  gap: 0.625rem;
  min-height: 1.875rem;
  padding: 0.425rem 0;
  border-bottom: 1px solid var(--accounting-budget-border-soft);
}

.accounting-budget-detail-row:last-child,
.accounting-budget-amount-row:last-child {
  border-bottom: 0;
}

.accounting-budget-detail-row dt,
.accounting-budget-detail-row dd,
.accounting-budget-amount-row dt,
.accounting-budget-amount-row dd {
  margin: 0;
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-budget-detail-row dt,
.accounting-budget-amount-row dt {
  color: var(--accounting-budget-muted);
  font-weight: 600;
}

.accounting-budget-detail-row dd,
.accounting-budget-amount-row dd {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--accounting-budget-heading);
  font-weight: 700;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.accounting-budget-value--status,
.accounting-budget-amount-row--positive dd {
  color: var(--accounting-budget-primary) !important;
  font-weight: 800 !important;
}

.accounting-budget-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.35rem 0.5rem;
}

.accounting-budget-action-link {
  display: inline-flex;
  min-height: 2rem;
  min-width: 0;
  align-items: center;
  justify-content: flex-start;
  gap: 0.45rem;
  padding: 0.35rem 0.25rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--accounting-budget-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-align: left;
}

.accounting-budget-action-link:hover {
  background: var(--accounting-budget-primary-soft);
  color: var(--accounting-budget-primary);
}

.accounting-budget-action-link span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.accounting-budget-filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(7.5rem, 0.45fr);
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.accounting-budget-field {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.accounting-budget-field span {
  color: var(--accounting-budget-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-transform: uppercase;
}

.accounting-budget-control {
  width: 100%;
  min-height: var(--cicosy-button-height);
  padding: 0.375rem 0.55rem;
  border: 1px solid var(--accounting-budget-border);
  border-radius: 4px;
  background: #fff;
  color: var(--accounting-budget-heading);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-budget-audit-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--accounting-budget-border-soft);
  border-radius: 7px;
}

.accounting-budget-audit-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.625rem;
  min-height: 3rem;
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--accounting-budget-border-soft);
}

.accounting-budget-audit-row:last-child {
  border-bottom: 0;
}

.accounting-budget-audit-icon {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--accounting-budget-border);
  border-radius: 6px;
  background: var(--accounting-budget-primary-soft);
  color: var(--accounting-budget-primary);
  font-size: var(--cicosy-text-md);
}

.accounting-budget-audit-main {
  min-width: 0;
}

.accounting-budget-audit-main strong {
  display: block;
  overflow: hidden;
  color: var(--accounting-budget-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-budget-audit-main span,
.accounting-budget-audit-main small,
.accounting-budget-audit-time {
  display: block;
  margin-top: 0.15rem;
  overflow: hidden;
  color: var(--accounting-budget-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-budget-audit-time {
  grid-column: 2;
  margin-top: 0.2rem;
  text-align: left;
}

.accounting-budget-empty {
  padding: 1.75rem 1rem;
  color: var(--accounting-budget-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  text-align: center;
}

.accounting-budget-closed {
  display: none;
  min-height: inherit;
  place-items: center;
  padding: 2rem 1rem;
  text-align: center;
}

.accounting-budget-detail.is-closed .accounting-budget-closed {
  display: grid;
}

.accounting-budget-closed p {
  max-width: 20rem;
  margin: 0.35rem auto 0.85rem;
  color: var(--accounting-budget-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-budget-toast {
  position: fixed;
  z-index: 1090;
  top: 1rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 24rem;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.9375rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-budget-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 35.98rem) {
  .accounting-budget-header,
  .accounting-budget-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .accounting-budget-actions {
    align-self: flex-start;
  }

  .accounting-budget-detail-row,
  .accounting-budget-amount-row,
  .accounting-budget-filter-row,
  .accounting-budget-action-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .accounting-budget-detail-row dd,
  .accounting-budget-amount-row dd {
    text-align: left;
  }

  .accounting-budget-audit-row {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .accounting-budget-audit-time {
    grid-column: 2;
    text-align: left;
  }
}

/* Accounting Intercompany Entity Detail */
.accounting-intercompany-detail-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-intercompany-detail {
  --accounting-intercompany-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-intercompany-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-intercompany-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-intercompany-border-soft: #e7eef0;
  --accounting-intercompany-heading: var(--cicosy-text-strong, #17233c);
  --accounting-intercompany-text: var(--cicosy-text-body, #26344d);
  --accounting-intercompany-muted: var(--cicosy-text-muted, #667085);
  --accounting-intercompany-success: #198754;
  --accounting-intercompany-success-soft: #eaf8f1;
  --accounting-intercompany-warning: #946200;
  --accounting-intercompany-warning-soft: #fff8e7;
  --accounting-intercompany-danger: #d92535;
  --accounting-intercompany-danger-soft: #fff1f3;
  --accounting-intercompany-info: #0b73c7;
  --accounting-intercompany-info-soft: #edf7ff;
  position: relative;
  container: accounting-intercompany-detail / inline-size;
  min-height: 36rem;
  height: 100%;
  background: #fff;
  color: var(--accounting-intercompany-text);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-intercompany-view {
  display: flex;
  min-height: inherit;
  height: 100%;
  flex-direction: column;
}

.accounting-intercompany-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1rem 0.65rem;
  border-bottom: 1px solid var(--accounting-intercompany-border-soft);
}

.accounting-intercompany-identity,
.accounting-intercompany-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
}

.accounting-intercompany-actions {
  flex-shrink: 0;
  gap: 0.25rem;
}

.accounting-intercompany-number,
.accounting-intercompany-section-title,
.accounting-intercompany-section-head h3,
.accounting-intercompany-closed h2 {
  margin: 0;
  color: var(--accounting-intercompany-heading);
  font-family: var(--cicosy-font-display);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-number {
  overflow: hidden;
  font-size: var(--cicosy-text-lg);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-intercompany-status,
.accounting-intercompany-type,
.accounting-intercompany-pill {
  display: inline-flex;
  min-height: 1.25rem;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.125rem 0.45rem;
  border: 1px solid var(--accounting-intercompany-border);
  border-radius: 999px;
  background: var(--accounting-intercompany-primary-soft);
  color: var(--accounting-intercompany-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.accounting-intercompany-status-dot {
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: currentColor;
}

.accounting-intercompany-status--success,
.accounting-intercompany-pill--success {
  border-color: #9edfc1;
  background: var(--accounting-intercompany-success-soft);
  color: var(--accounting-intercompany-success);
}

.accounting-intercompany-status--warning,
.accounting-intercompany-pill--warning {
  border-color: #f8d7a3;
  background: var(--accounting-intercompany-warning-soft);
  color: var(--accounting-intercompany-warning);
}

.accounting-intercompany-status--danger,
.accounting-intercompany-pill--danger {
  border-color: #ffc9cf;
  background: var(--accounting-intercompany-danger-soft);
  color: var(--accounting-intercompany-danger);
}

.accounting-intercompany-status--info,
.accounting-intercompany-pill--info {
  border-color: #b7dcf8;
  background: var(--accounting-intercompany-info-soft);
  color: var(--accounting-intercompany-info);
}

.accounting-intercompany-type {
  border-radius: 4px;
}

.accounting-intercompany-icon-button {
  display: inline-flex;
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  flex: 0 0 var(--cicosy-icon-button-size);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--accounting-intercompany-heading);
  font-size: var(--cicosy-text-base);
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.accounting-intercompany-icon-button:hover {
  background: var(--accounting-intercompany-primary-soft);
  color: var(--accounting-intercompany-primary);
}

.accounting-intercompany-icon-button:active {
  transform: translateY(1px);
}

.accounting-intercompany-tabs-wrap {
  padding: 0 1rem;
}

.accounting-intercompany-tabs {
  display: flex;
  min-height: 2.875rem;
  align-items: flex-end;
  gap: 1rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--accounting-intercompany-border-soft);
  scrollbar-width: none;
}

.accounting-intercompany-tabs::-webkit-scrollbar {
  display: none;
}

.accounting-intercompany-tab {
  position: relative;
  flex: 0 0 auto;
  min-height: 2.875rem;
  padding: 0 0.0625rem 0.75rem;
  border: 0;
  background: transparent;
  color: var(--accounting-intercompany-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  white-space: nowrap;
  transition: color 160ms ease;
}

.accounting-intercompany-tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--accounting-intercompany-primary);
  content: "";
  opacity: 0;
  transform: scaleX(0.25);
  transition: opacity 160ms ease, transform 160ms ease;
}

.accounting-intercompany-tab:hover,
.accounting-intercompany-tab.is-active {
  color: var(--accounting-intercompany-primary);
}

.accounting-intercompany-tab.is-active {
  font-weight: 700;
}

.accounting-intercompany-tab.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.accounting-intercompany-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.875rem 1rem 1rem;
}

.accounting-intercompany-panel {
  display: none;
}

.accounting-intercompany-panel.is-active {
  display: block;
}

.accounting-intercompany-summary-card,
.accounting-intercompany-section {
  padding: 0.875rem;
  border: 1px solid var(--accounting-intercompany-border-soft);
  border-radius: 7px;
  background: #fff;
}

.accounting-intercompany-section {
  margin-top: 0.75rem;
}

.accounting-intercompany-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}

.accounting-intercompany-summary-grid .accounting-intercompany-section {
  min-width: 0;
  margin-top: 0;
}

.accounting-intercompany-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.accounting-intercompany-section-head h3,
.accounting-intercompany-section-title {
  font-size: var(--cicosy-text-lg);
}

.accounting-intercompany-section-head p {
  margin: 0.15rem 0 0;
  color: var(--accounting-intercompany-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-detail-list,
.accounting-intercompany-balance-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.accounting-intercompany-detail-row,
.accounting-intercompany-balance-row {
  display: grid;
  grid-template-columns: minmax(7rem, 0.95fr) minmax(0, 1.05fr);
  align-items: start;
  gap: 0.625rem;
  min-height: 1.875rem;
  padding: 0.425rem 0;
  border-bottom: 1px solid var(--accounting-intercompany-border-soft);
}

.accounting-intercompany-detail-row:last-child,
.accounting-intercompany-balance-row:last-child {
  border-bottom: 0;
}

.accounting-intercompany-detail-row dt,
.accounting-intercompany-detail-row dd,
.accounting-intercompany-balance-row dt,
.accounting-intercompany-balance-row dd {
  margin: 0;
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-detail-row dt,
.accounting-intercompany-balance-row dt {
  color: var(--accounting-intercompany-muted);
  font-weight: 600;
}

.accounting-intercompany-detail-row dd,
.accounting-intercompany-balance-row dd {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--accounting-intercompany-heading);
  font-weight: 700;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.accounting-intercompany-value--link,
.accounting-intercompany-value--status {
  color: var(--accounting-intercompany-primary) !important;
  font-weight: 800 !important;
}

.accounting-intercompany-balance-row--highlight {
  grid-template-columns: minmax(0, 1fr);
  margin-top: 0.35rem;
  padding: 0.625rem 0.5rem;
  border: 0;
  border-radius: 4px;
  background: var(--accounting-intercompany-primary-soft);
}

.accounting-intercompany-balance-row--highlight dt,
.accounting-intercompany-balance-row--highlight dd {
  color: var(--accounting-intercompany-primary);
  font-weight: 800;
}

.accounting-intercompany-balance-row--highlight dd {
  justify-self: end;
  text-align: right;
}

.accounting-intercompany-aging {
  display: grid;
  grid-template-columns: 5.75rem minmax(0, 1fr);
  align-items: center;
  gap: 0.625rem;
  margin-top: 0.75rem;
}

.accounting-intercompany-donut-shell {
  position: relative;
  width: 5rem;
  height: 5rem;
  margin-inline: auto;
}

.accounting-intercompany-donut,
.accounting-intercompany-donut::after {
  display: block;
  border-radius: 50%;
}

.accounting-intercompany-donut {
  position: relative;
  width: 5rem;
  height: 5rem;
  background: conic-gradient(var(--accounting-intercompany-success) 0 52%, #f59e0b 52% 77%, var(--accounting-intercompany-info) 77% 90%, var(--accounting-intercompany-danger) 90% 100%);
}

.accounting-intercompany-donut::after {
  position: absolute;
  inset: 0.95rem;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(20, 44, 82, 0.05);
  content: "";
}

.accounting-intercompany-aging-list {
  display: grid;
  gap: 0.425rem;
}

.accounting-intercompany-aging-row {
  display: grid;
  grid-template-columns: 0.625rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem;
}

.accounting-intercompany-aging-row span,
.accounting-intercompany-aging-row strong {
  min-width: 0;
  overflow: hidden;
  color: var(--accounting-intercompany-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-intercompany-aging-row strong {
  color: var(--accounting-intercompany-heading);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.accounting-intercompany-aging-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--accounting-intercompany-success);
}

.accounting-intercompany-aging-dot--warning { background: #f59e0b; }
.accounting-intercompany-aging-dot--info { background: var(--accounting-intercompany-info); }
.accounting-intercompany-aging-dot--danger { background: var(--accounting-intercompany-danger); }

.accounting-intercompany-aging-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  margin-top: 0.875rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--accounting-intercompany-border-soft);
  color: var(--accounting-intercompany-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.35rem 0.5rem;
}

.accounting-intercompany-action-link,
.accounting-intercompany-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accounting-intercompany-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-action-link {
  min-height: 2rem;
  justify-content: flex-start;
  padding: 0.35rem 0.25rem;
  border-radius: 4px;
  text-align: left;
}

.accounting-intercompany-action-link:hover,
.accounting-intercompany-text-link:hover {
  color: var(--accounting-intercompany-primary);
  text-decoration: underline;
}

.accounting-intercompany-action-link:hover {
  background: var(--accounting-intercompany-primary-soft);
  text-decoration: none;
}

.accounting-intercompany-filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(6.5rem, 0.45fr);
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.accounting-intercompany-field {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.accounting-intercompany-field span {
  color: var(--accounting-intercompany-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-transform: uppercase;
}

.accounting-intercompany-control {
  width: 100%;
  min-height: var(--cicosy-button-height);
  padding: 0.375rem 0.55rem;
  border: 1px solid var(--accounting-intercompany-border);
  border-radius: 4px;
  background: #fff;
  color: var(--accounting-intercompany-heading);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-intercompany-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.accounting-intercompany-metric {
  padding: 0.65rem;
  border: 1px solid var(--accounting-intercompany-border-soft);
  border-radius: 6px;
  background: #f8fafc;
}

.accounting-intercompany-metric span,
.accounting-intercompany-list-main span,
.accounting-intercompany-list-meta span:last-child {
  color: var(--accounting-intercompany-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-metric strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--accounting-intercompany-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 800;
  line-height: var(--cicosy-line-tight);
  font-variant-numeric: tabular-nums;
}

.accounting-intercompany-table-scroll {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--accounting-intercompany-border-soft);
  border-radius: 7px;
  scrollbar-width: thin;
}

.accounting-intercompany-table {
  width: 100%;
  min-width: 36rem;
  margin: 0;
  border-collapse: collapse;
}

.accounting-intercompany-table th,
.accounting-intercompany-table td {
  padding: 0.55rem 0.45rem;
  border-bottom: 1px solid var(--accounting-intercompany-border-soft);
  vertical-align: middle;
}

.accounting-intercompany-table tr:last-child td {
  border-bottom: 0;
}

.accounting-intercompany-table th {
  background: #f8fafc;
  color: var(--accounting-intercompany-heading);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-transform: uppercase;
  letter-spacing: 0;
  white-space: nowrap;
}

.accounting-intercompany-table td {
  color: var(--accounting-intercompany-text);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-table th:nth-child(n+3),
.accounting-intercompany-table td:nth-child(n+3) {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-intercompany-table tbody tr:hover {
  background: var(--accounting-intercompany-primary-soft);
}

.accounting-intercompany-muted-cell {
  color: var(--accounting-intercompany-muted) !important;
  text-align: center !important;
}

.accounting-intercompany-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--accounting-intercompany-border-soft);
  border-radius: 7px;
}

.accounting-intercompany-list-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.625rem;
  min-height: 3rem;
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--accounting-intercompany-border-soft);
}

.accounting-intercompany-list-row:last-child {
  border-bottom: 0;
}

.accounting-intercompany-list-icon {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid var(--accounting-intercompany-border);
  border-radius: 6px;
  background: var(--accounting-intercompany-primary-soft);
  color: var(--accounting-intercompany-primary);
  font-size: var(--cicosy-text-md);
}

.accounting-intercompany-list-main {
  min-width: 0;
}

.accounting-intercompany-list-main strong {
  display: block;
  overflow: hidden;
  color: var(--accounting-intercompany-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-intercompany-list-main span {
  display: block;
  margin-top: 0.15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-intercompany-list-meta {
  display: grid;
  justify-items: end;
  gap: 0.25rem;
}

.accounting-intercompany-amount {
  color: var(--accounting-intercompany-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.accounting-intercompany-empty {
  padding: 1.75rem 1rem;
  color: var(--accounting-intercompany-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  text-align: center;
}

.accounting-intercompany-audit-list {
  display: grid;
  gap: 0;
  padding: 1rem;
  border: 1px solid var(--accounting-intercompany-border-soft);
  border-radius: 7px;
}

.accounting-intercompany-audit-row {
  position: relative;
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 0.625rem;
  padding: 0 0 1rem;
}

.accounting-intercompany-audit-row:not(:last-child)::after {
  position: absolute;
  top: 0.8rem;
  bottom: 0;
  left: 0.3125rem;
  width: 1px;
  background: var(--accounting-intercompany-border);
  content: "";
}

.accounting-intercompany-audit-dot {
  position: relative;
  z-index: 1;
  width: 0.7rem;
  height: 0.7rem;
  margin-top: 0.125rem;
  border: 2px solid #d9eadb;
  border-radius: 50%;
  background: var(--accounting-intercompany-primary);
}

.accounting-intercompany-audit-row strong {
  display: block;
  margin-bottom: 0.15rem;
  color: var(--accounting-intercompany-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-audit-row span {
  color: var(--accounting-intercompany-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-intercompany-empty-panel,
.accounting-intercompany-closed {
  display: grid;
  min-height: inherit;
  place-items: center;
  padding: 2rem 1rem;
  text-align: center;
}

.accounting-intercompany-empty-state {
  max-width: 18rem;
}

.accounting-intercompany-empty-icon {
  display: inline-flex;
  width: 3rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  background: var(--accounting-intercompany-primary-soft);
  color: var(--accounting-intercompany-primary);
  font-size: var(--cicosy-text-xl);
}

.accounting-intercompany-empty-state h3 {
  margin: 0 0 0.45rem;
  color: var(--accounting-intercompany-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-intercompany-empty-state p,
.accounting-intercompany-closed p {
  margin: 0;
  color: var(--accounting-intercompany-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-intercompany-closed {
  display: none;
}

.accounting-intercompany-detail.is-closed .accounting-intercompany-closed {
  display: grid;
}

.accounting-intercompany-closed p {
  max-width: 20rem;
  margin: 0.35rem auto 0.85rem;
}

.accounting-intercompany-toast {
  position: fixed;
  z-index: 1090;
  top: 1rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 24rem;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.9375rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-intercompany-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@container accounting-intercompany-detail (max-width: 34rem) {
  .accounting-intercompany-summary-grid,
  .accounting-intercompany-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 52rem) {
  .accounting-intercompany-summary-grid,
  .accounting-intercompany-metric-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 35.98rem) {
  .accounting-intercompany-header,
  .accounting-intercompany-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .accounting-intercompany-actions {
    align-self: flex-start;
  }

  .accounting-intercompany-detail-row,
  .accounting-intercompany-balance-row,
  .accounting-intercompany-filter-row,
  .accounting-intercompany-action-grid,
  .accounting-intercompany-aging {
    grid-template-columns: minmax(0, 1fr);
  }

  .accounting-intercompany-detail-row dd,
  .accounting-intercompany-balance-row dd {
    text-align: left;
  }

  .accounting-intercompany-list-row,
  .accounting-intercompany-item-row {
    grid-template-columns: 2rem minmax(0, 1fr);
  }

  .accounting-intercompany-list-meta,
  .accounting-intercompany-list-row > .accounting-intercompany-icon-button {
    grid-column: 2;
    justify-items: start;
    text-align: left;
  }
}

/* Accounting Payable Invoice Detail */
.accounting-ap-detail-card-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-ap-detail {
  --accounting-ap-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-ap-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-ap-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-ap-border-soft: #e7eef0;
  --accounting-ap-heading: var(--cicosy-text-strong, #17233c);
  --accounting-ap-text: var(--cicosy-text-body, #26344d);
  --accounting-ap-muted: var(--cicosy-text-muted, #667085);
  --accounting-ap-success: #198754;
  --accounting-ap-success-soft: #eaf8f1;
  --accounting-ap-warning: #946200;
  --accounting-ap-warning-soft: #fff8e7;
  --accounting-ap-danger: #d92535;
  --accounting-ap-danger-soft: #fff1f3;
  position: relative;
  min-height: 36rem;
  height: 100%;
  background: #fff;
  color: var(--accounting-ap-text);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.accounting-ap-view {
  display: flex;
  min-height: inherit;
  height: 100%;
  flex-direction: column;
}

.accounting-ap-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1rem 0.85rem;
}

.accounting-ap-identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.625rem;
}

.accounting-ap-number,
.accounting-ap-section-title,
.accounting-ap-closed h2 {
  margin: 0;
  color: var(--accounting-ap-heading);
  font-family: var(--cicosy-font-display);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-ap-number {
  overflow: hidden;
  font-size: var(--cicosy-text-lg);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-ap-status {
  display: inline-flex;
  min-height: 1.375rem;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.45rem;
  border: 1px solid var(--accounting-ap-border);
  border-radius: 4px;
  background: var(--accounting-ap-primary-soft);
  color: var(--accounting-ap-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.accounting-ap-status--success {
  border-color: #9edfc1;
  background: var(--accounting-ap-success-soft);
  color: var(--accounting-ap-success);
}

.accounting-ap-status--warning {
  border-color: #f8d7a3;
  background: var(--accounting-ap-warning-soft);
  color: var(--accounting-ap-warning);
}

.accounting-ap-status--danger {
  border-color: #ffc9cf;
  background: var(--accounting-ap-danger-soft);
  color: var(--accounting-ap-danger);
}

.accounting-ap-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.125rem;
}

.accounting-ap-icon-button {
  display: inline-flex;
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  flex: 0 0 var(--cicosy-icon-button-size);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-base);
  transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.accounting-ap-icon-button:hover {
  background: var(--accounting-ap-primary-soft);
  color: var(--accounting-ap-primary);
}

.accounting-ap-icon-button:active {
  transform: translateY(1px);
}

.accounting-ap-tabs-wrap {
  padding: 0 1rem;
}

.accounting-ap-tabs {
  display: flex;
  width: 100%;
  min-height: 3rem;
  align-items: flex-end;
  gap: 0.35rem;
  overflow-x: auto;
  border-bottom: 1px solid var(--accounting-ap-border-soft);
  scrollbar-width: none;
}

.accounting-ap-tabs::-webkit-scrollbar {
  display: none;
}

.accounting-ap-tab {
  position: relative;
  flex: 1 0 auto;
  min-width: 4.75rem;
  min-height: 3rem;
  padding: 0 0.25rem 0.8rem;
  border: 0;
  background: transparent;
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  text-align: center;
  white-space: nowrap;
  transition: color 160ms ease;
}

.accounting-ap-tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--accounting-ap-primary);
  content: "";
  opacity: 0;
  transform: scaleX(0.2);
  transition: opacity 160ms ease, transform 160ms ease;
}

.accounting-ap-tab:hover,
.accounting-ap-tab.is-active {
  color: var(--accounting-ap-primary);
}

.accounting-ap-tab.is-active {
  font-weight: 800;
}

.accounting-ap-tab.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.accounting-ap-tab-panel {
  display: none;
}

.accounting-ap-tab-panel.is-active {
  display: block;
}

.accounting-ar-panel,
.accounting-asset-panel {
  display: none;
}

.accounting-ar-panel.is-active,
.accounting-asset-panel.is-active {
  display: block;
}

.accounting-ap-summary-block {
  padding: 1rem 1rem 1.05rem;
  border-bottom: 1px solid var(--accounting-ap-border-soft);
}

.accounting-ap-detail-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.accounting-ap-detail-row {
  display: grid;
  grid-template-columns: minmax(7.25rem, 0.9fr) minmax(0, 1.35fr);
  align-items: start;
  gap: 0.75rem;
  min-height: 2rem;
  padding: 0.42rem 0;
  border-bottom: 1px solid var(--accounting-ap-border-soft);
}

.accounting-ap-detail-row:last-child {
  border-bottom: 0;
}

.accounting-ap-detail-row dt,
.accounting-ap-detail-row dd {
  margin: 0;
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-ap-detail-row dt {
  color: var(--accounting-ap-muted);
  font-weight: 600;
}

.accounting-ap-detail-row dd {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--accounting-ap-heading);
  font-weight: 700;
  text-align: right;
}

.accounting-ap-detail-value--link,
.accounting-ap-detail-value--status {
  color: var(--accounting-ap-primary) !important;
  font-weight: 800 !important;
}

.accounting-ap-detail-value--amount {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-ap-detail-value--multiline {
  white-space: pre-line;
}

.accounting-ap-payment-card,
.accounting-ap-quick-actions {
  margin: 0;
  padding: 1rem;
  border-bottom: 1px solid var(--accounting-ap-border-soft);
}

.accounting-ap-payment-card {
  background: #fbfdfb;
}

.accounting-ap-section-title {
  margin-bottom: 0.75rem;
  font-size: var(--cicosy-text-base);
}

.accounting-ap-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 0.85rem;
}

.accounting-ap-action-link {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accounting-ap-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-align: left;
}

.accounting-ap-action-link:hover,
.accounting-ap-link-button:hover {
  color: var(--accounting-ap-primary);
  text-decoration: underline;
}

.accounting-ap-action-link--danger {
  color: var(--accounting-ap-danger);
}

.accounting-ap-action-link i {
  flex: 0 0 auto;
  font-size: var(--cicosy-text-base);
}

.accounting-ap-action-link span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.accounting-ap-line-section {
  padding: 1rem;
}

.accounting-ap-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.accounting-ap-table-scroll {
  width: 100%;
  overflow-x: auto;
  border-top: 1px solid var(--accounting-ap-border-soft);
  scrollbar-width: thin;
}

.accounting-ap-table {
  width: 100%;
  min-width: 36rem;
  margin: 0;
  table-layout: fixed;
  border-collapse: collapse;
}

.accounting-ap-table th,
.accounting-ap-table td {
  padding: 0.55rem 0.45rem;
  border-bottom: 1px solid var(--accounting-ap-border-soft);
  vertical-align: middle;
}

.accounting-ap-table th {
  background: #f8fafc;
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-transform: uppercase;
  letter-spacing: 0;
  white-space: nowrap;
}

.accounting-ap-table td {
  color: var(--accounting-ap-text);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-ap-table th:nth-child(1),
.accounting-ap-table td:nth-child(1) {
  width: 26%;
}

.accounting-ap-table th:nth-child(2),
.accounting-ap-table td:nth-child(2),
.accounting-ap-table th:nth-child(4),
.accounting-ap-table td:nth-child(4) {
  width: 22%;
}

.accounting-ap-table th:nth-child(3),
.accounting-ap-table td:nth-child(3),
.accounting-ap-table th:nth-child(5),
.accounting-ap-table td:nth-child(5) {
  width: 15%;
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-ap-table tbody tr:hover {
  background: var(--accounting-ap-primary-soft);
}

.accounting-ap-muted-cell {
  color: var(--accounting-ap-muted) !important;
  text-align: center !important;
}

.accounting-ap-line-list {
  display: grid;
  gap: 0.625rem;
  padding: 1rem;
}

.accounting-ap-line-item {
  padding: 0.75rem;
  border: 1px solid var(--accounting-ap-border-soft);
  border-radius: 5px;
  background: #fff;
}

.accounting-ap-line-head {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.4rem;
}

.accounting-ap-line-name,
.accounting-ap-line-amount {
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-ap-line-name {
  min-width: 0;
  overflow-wrap: anywhere;
}

.accounting-ap-line-amount {
  flex: 0 0 auto;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.accounting-ap-line-meta {
  margin: 0;
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-ap-link-button {
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accounting-ap-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-ap-audit-list {
  display: grid;
  gap: 0;
  padding: 1rem;
}

.accounting-ap-audit-row {
  position: relative;
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: 0.625rem;
  padding: 0 0 1rem;
}

.accounting-ap-audit-row:not(:last-child)::after {
  position: absolute;
  top: 0.8rem;
  bottom: 0;
  left: 0.3125rem;
  width: 1px;
  background: var(--accounting-ap-border);
  content: "";
}

.accounting-ap-audit-dot {
  position: relative;
  z-index: 1;
  width: 0.7rem;
  height: 0.7rem;
  margin-top: 0.125rem;
  border: 2px solid #d9eadb;
  border-radius: 50%;
  background: var(--accounting-ap-primary);
}

.accounting-ap-audit-row strong {
  display: block;
  margin-bottom: 0.15rem;
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-ap-audit-row span {
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-ap-empty-panel {
  display: grid;
  min-height: 20rem;
  place-items: center;
  padding: 2.5rem 1rem;
  text-align: center;
}

.accounting-ap-empty-state {
  max-width: 18rem;
}

.accounting-ap-empty-icon {
  display: inline-flex;
  width: 3rem;
  height: 3rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75rem;
  border-radius: 50%;
  background: var(--accounting-ap-primary-soft);
  color: var(--accounting-ap-primary);
  font-size: var(--cicosy-text-xl);
}

.accounting-ap-empty-state h3 {
  margin: 0 0 0.45rem;
  color: var(--accounting-ap-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-ap-empty-state p {
  margin: 0;
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-ap-closed {
  min-height: inherit;
  place-items: center;
  padding: 2rem 1rem;
  text-align: center;
}

.accounting-ap-detail.is-closed .accounting-ap-closed {
  display: grid;
}

.accounting-ar-detail {
  --accounting-ap-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-ap-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-ap-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
}

.accounting-ar-aging-list {
  display: grid;
  gap: 0.75rem;
}

.accounting-ar-aging-row {
  display: grid;
  grid-template-columns: minmax(4.75rem, 0.8fr) minmax(5rem, 1fr) max-content;
  align-items: center;
  gap: 0.625rem;
  min-width: 0;
}

.accounting-ar-aging-row span:first-child,
.accounting-ar-aging-row strong {
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  white-space: nowrap;
}

.accounting-ar-aging-row strong {
  color: var(--accounting-ap-heading);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.accounting-ar-aging-track {
  --accounting-ar-aging-color: var(--accounting-ap-primary);
  display: block;
  height: 0.45rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e7eef0;
}

.accounting-ar-aging-track--success { --accounting-ar-aging-color: var(--accounting-ap-success); }
.accounting-ar-aging-track--warning { --accounting-ar-aging-color: #f59e0b; }
.accounting-ar-aging-track--danger { --accounting-ar-aging-color: var(--accounting-ap-danger); }

.accounting-ar-aging-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accounting-ar-aging-color);
}

.accounting-ar-aging-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  margin-top: 0.875rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--accounting-ap-border-soft);
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-ar-line-table {
  min-width: 38rem;
}

.accounting-ar-table-summary {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 0.75rem 0.45rem 0;
}

.accounting-ar-table-summary div {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 1rem;
}

.accounting-ar-table-summary dt,
.accounting-ar-table-summary dd {
  margin: 0;
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-ar-table-summary dd {
  font-variant-numeric: tabular-nums;
}

/* Accounting Asset Detail */
.accounting-asset-detail-card-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-asset-detail {
  --accounting-ap-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-ap-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-ap-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
}

.accounting-asset-profile {
  display: grid;
  grid-template-columns: 4.75rem minmax(0, 1fr);
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1rem 0.85rem;
  border-bottom: 1px solid var(--accounting-ap-border-soft);
}

.accounting-asset-profile-icon {
  display: inline-flex;
  width: 4.75rem;
  height: 3.25rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--accounting-ap-border);
  border-radius: 7px;
  background: var(--accounting-ap-primary-soft);
  color: var(--accounting-ap-primary);
  font-size: var(--cicosy-text-2xl);
}

.accounting-asset-profile-copy {
  min-width: 0;
}

.accounting-asset-profile-copy h3 {
  margin: 0 0 0.35rem;
  overflow: hidden;
  color: var(--accounting-ap-heading);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-asset-summary-block {
  padding-top: 0.85rem;
}

.accounting-asset-financial-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.accounting-asset-financial-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 0.75rem;
  min-height: 1.9rem;
  padding: 0.42rem 0;
  border-bottom: 1px solid var(--accounting-ap-border-soft);
}

.accounting-asset-financial-list div:last-child {
  border-bottom: 0;
}

.accounting-asset-financial-list dt,
.accounting-asset-financial-list dd {
  margin: 0;
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-asset-financial-list dt {
  color: var(--accounting-ap-muted);
  font-weight: 600;
}

.accounting-asset-financial-list dd {
  color: var(--accounting-ap-heading);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-asset-financial-row--highlight {
  background: var(--accounting-ap-primary-soft);
  margin-inline: -0.35rem;
  padding-inline: 0.35rem !important;
}

.accounting-asset-financial-row--highlight dt,
.accounting-asset-financial-row--highlight dd {
  color: var(--accounting-ap-primary);
}

.accounting-asset-kicker {
  margin: 0.15rem 0 0;
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-asset-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.accounting-asset-metric {
  padding: 0.7rem;
  border: 1px solid var(--accounting-ap-border-soft);
  border-radius: 6px;
  background: #f8fafc;
}

.accounting-asset-metric span {
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-asset-metric strong {
  display: block;
  margin-top: 0.25rem;
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-md);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: var(--cicosy-line-snug);
}

.accounting-asset-progress {
  margin-top: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--accounting-ap-border-soft);
  border-radius: 6px;
  background: #fff;
}

.accounting-asset-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}

.accounting-asset-progress-head strong,
.accounting-asset-progress-head span {
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-asset-progress-head span {
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
}

.accounting-asset-progress-track {
  display: block;
  height: 0.5rem;
  overflow: hidden;
  border-radius: 999px;
  background: #e7eef0;
}

.accounting-asset-progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accounting-ap-primary);
}

.accounting-asset-posted-section {
  padding-top: 0;
}

.accounting-asset-depreciation-table {
  min-width: 28rem;
}

.accounting-asset-depreciation-table th:nth-child(1),
.accounting-asset-depreciation-table td:nth-child(1),
.accounting-asset-depreciation-table th:nth-child(2),
.accounting-asset-depreciation-table td:nth-child(2),
.accounting-asset-depreciation-table th:nth-child(3),
.accounting-asset-depreciation-table td:nth-child(3) {
  width: 27%;
  text-align: left;
}

.accounting-asset-depreciation-table th:nth-child(4),
.accounting-asset-depreciation-table td:nth-child(4) {
  width: 19%;
  text-align: right;
}

.accounting-asset-count-badge {
  display: inline-flex;
  min-height: 1.35rem;
  align-items: center;
  justify-content: center;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: var(--accounting-ap-primary-soft);
  color: var(--accounting-ap-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.accounting-asset-list {
  padding: 0;
}

.accounting-asset-list-item {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr) max-content;
  align-items: center;
  gap: 0.65rem;
  border-radius: 0;
  border-width: 0 0 1px;
}

.accounting-asset-list-item:last-child {
  border-bottom: 0;
}

.accounting-asset-list-icon {
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--accounting-ap-primary-soft);
  color: var(--accounting-ap-primary);
  font-size: var(--cicosy-text-md);
}

.accounting-asset-list-meta {
  display: grid;
  justify-items: end;
  gap: 0.25rem;
  color: var(--accounting-ap-heading);
  font-size: var(--cicosy-text-xs);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-asset-audit-list em {
  display: block;
  margin-top: 0.25rem;
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-2xs);
  font-style: normal;
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

@media (min-width: 36rem) {
  .accounting-asset-profile {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 35.98rem) {
  .accounting-asset-profile {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .accounting-asset-profile-icon {
    width: 4rem;
  }

  .accounting-asset-profile-copy h3 {
    white-space: normal;
  }

  .accounting-asset-list-item {
    grid-template-columns: 2.25rem minmax(0, 1fr);
  }

  .accounting-asset-list-meta {
    grid-column: 2;
    justify-items: start;
  }
}

.accounting-ap-closed h2 {
  margin-bottom: 0.5rem;
  font-size: var(--cicosy-text-lg);
}

.accounting-ap-closed p {
  margin: 0 0 1rem;
  color: var(--accounting-ap-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
}

.accounting-ap-toast {
  position: absolute;
  z-index: 5;
  top: 0.75rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 22rem;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #addfc7;
  border-radius: 7px;
  background: #f2fff8;
  box-shadow: 0 0.75rem 1.875rem rgba(20, 44, 82, 0.13);
  color: #13764d;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.75rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-ap-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (min-width: 36rem) {
  .accounting-ap-header,
  .accounting-ap-tabs-wrap,
  .accounting-ap-summary-block,
  .accounting-ap-payment-card,
  .accounting-ap-quick-actions,
  .accounting-ap-line-section,
  .accounting-ap-line-list,
  .accounting-ap-audit-list {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 35.98rem) {
  .accounting-ap-detail {
    min-height: 32rem;
  }

  .accounting-ap-header {
    align-items: flex-start;
  }

  .accounting-ap-identity {
    display: grid;
    align-items: start;
    gap: 0.35rem;
  }

  .accounting-ap-number {
    white-space: normal;
  }

  .accounting-ap-detail-row {
    grid-template-columns: minmax(6.5rem, 0.8fr) minmax(0, 1.2fr);
    gap: 0.5rem;
  }

  .accounting-ap-action-grid {
    grid-template-columns: 1fr;
  }

  .accounting-ap-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .accounting-ap-line-head {
    display: grid;
  }

  .accounting-ap-line-amount {
    text-align: left;
  }
}

body {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
  background: #f4fbf5;
  color: var(--cicosy-text-body);
}

a {
  color: #1b5e20;
  text-decoration: none;
}

a:hover {
  color: #1b5e20;
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--cicosy-font-display);
  color: var(--cicosy-text-strong);
  line-height: var(--cicosy-line-tight);
}

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
#main {
  margin-top: 60px;
  padding: 20px 30px;
  transition: all 0.3s;
}

@media (max-width: 1199px) {
  #main {
    padding: 20px;
  }
}

/*--------------------------------------------------------------
# Body Wrapper Fragment
--------------------------------------------------------------*/
#main.cicosy-body-wrapper {
  padding: 10px 14px 24px;
}

body[data-accounting-shell] #main.cicosy-body-wrapper {
  transition: none;
}

html[data-cicosy-accounting-js] {
  scroll-behavior: auto;
}

.cicosy-body-wrapper__inner {
  width: 100%;
  margin: 0 auto;
  padding: 24px;
  background: #fff;
  border: 1px solid #cfe8d2;
  border-radius: 6px;
  box-shadow: 0 4px 18px rgba(27, 94, 32, 0.045);
}

.cicosy-page-stack {
  display: grid;
  gap: 1.5rem;
}

.cicosy-page-stack > .pagetitle {
  margin-bottom: 0;
}

.cicosy-content-section {
  display: grid;
  gap: 1.5rem;
}

.cicosy-content-section .cicosy-card-grid {
  margin: 0;
}

.cicosy-widget-theme {
  --cicosy-widget-border: #cfe8d2;
  --cicosy-widget-heading: #1b5e20;
  --cicosy-widget-muted: #6b7893;
  --cicosy-widget-surface: #ffffff;
}

@media (max-width: 1199px) {
  #main.cicosy-body-wrapper {
    padding: 10px 12px 22px;
  }

  .cicosy-body-wrapper__inner {
    padding: 20px;
  }

  .cicosy-page-stack {
    gap: 1.25rem;
  }
}

@media (max-width: 575px) {
  #main.cicosy-body-wrapper {
    padding: 10px 10px 20px;
  }

  .cicosy-body-wrapper__inner {
    padding: 16px;
  }

  .cicosy-page-stack {
    gap: 1rem;
  }
}

/*--------------------------------------------------------------
# Page Title
--------------------------------------------------------------*/
.pagetitle {
  margin-bottom: 10px;
}

.pagetitle h1 {
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-2xl);
  margin-bottom: 0;
  font-weight: 700;
  line-height: var(--cicosy-line-tight);
  color: var(--cicosy-text-strong);
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background: #1b5e20;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 24px;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: #1b5e20;
  color: #fff;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Override some default Bootstrap stylings
--------------------------------------------------------------*/
.btn-primary,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:disabled {
  --bs-btn-bg: #1b5e20;
  --bs-btn-border-color: #1b5e20;
  --bs-btn-hover-bg: #1b5e20;
  --bs-btn-hover-border-color: #1b5e20;
  --bs-btn-focus-shadow-rgb: 27, 94, 32;
  --bs-btn-active-bg: #1b5e20;
  --bs-btn-active-border-color: #1b5e20;
}

.btn-outline-primary {
  --bs-btn-color: #1b5e20;
  --bs-btn-border-color: #1b5e20;
  --bs-btn-hover-bg: #1b5e20;
  --bs-btn-hover-border-color: #1b5e20;
  --bs-btn-active-bg: #1b5e20;
  --bs-btn-active-border-color: #1b5e20;
  --bs-btn-focus-shadow-rgb: 27, 94, 32;
}

.text-primary {
  color: #1b5e20 !important;
}

.bg-primary {
  background-color: #1b5e20 !important;
}

.border-primary {
  border-color: #1b5e20 !important;
}

.link-primary {
  color: #1b5e20 !important;
}

.page-item.active .page-link,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: #1b5e20;
  border-color: #1b5e20;
}

.page-link {
  color: #1b5e20;
}

.page-link:focus {
  box-shadow: 0 0 0 0.25rem rgba(27, 94, 32, 0.18);
}

:where(.header, .sidebar, .main, .footer) :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]) {
  color: var(--cicosy-dashboard-icon) !important;
}

:where(.btn, .cicosy-btn, .badge, .cicosy-badge, .alert, .cicosy-alert, .text-white, .text-light, .bg-primary, .bg-success, .bg-danger, .bg-warning, .bg-info, .cicosy-widget-solid, .cicosy-widget-weather, .cicosy-widget-banner--welcome) :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]) {
  color: currentColor !important;
}

:where(.btn:hover, .btn:focus-visible, .btn.active, .page-link:hover, .page-link:focus, .page-item.active .page-link, .nav-pills .nav-link.active) :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]) {
  color: currentColor !important;
}

/* Dropdown menus */
.dropdown-menu {
  border-radius: 4px;
  padding: 10px 0;
  -webkit-animation-name: dropdown-animate;
  animation-name: dropdown-animate;
  -webkit-animation-duration: 0.2s;
  animation-duration: 0.2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  border: 0;
  box-shadow: 0 5px 30px 0 rgba(82, 63, 105, 0.2);
}

.dropdown-menu .dropdown-header,
.dropdown-menu .dropdown-footer {
  text-align: center;
  font-size: 14px;
  padding: 10px 25px;
}

.dropdown-menu .dropdown-footer a {
  color: #444444;
  text-decoration: underline;
}

.dropdown-menu .dropdown-footer a:hover {
  text-decoration: none;
}

.dropdown-menu .dropdown-divider {
  color: #9ccc9f;
  margin: 0;
}

.dropdown-menu .dropdown-item {
  font-size: 13px;
  padding: 10px 15px;
  transition: 0.3s;
}

.dropdown-menu .dropdown-item i {
  margin-right: 10px;
  font-size: 18px;
  line-height: 0;
}

.dropdown-menu .dropdown-item:hover {
  background-color: #f4fbf5;
}

.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:active {
  color: #064d18;
  background-color: #eaf5ec;
}

@media (min-width: 768px) {
  .dropdown-menu-arrow::before {
    content: "";
    width: 13px;
    height: 13px;
    background: #fff;
    position: absolute;
    top: -7px;
    right: 20px;
    transform: rotate(45deg);
    border-top: 1px solid #eaedf1;
    border-left: 1px solid #eaedf1;
  }
}

@-webkit-keyframes dropdown-animate {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }

  0% {
    opacity: 0;
  }
}

@keyframes dropdown-animate {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }

  0% {
    opacity: 0;
  }
}

/* Light Backgrounds */
.bg-primary-light {
  background-color: #d9f0dc;
  border-color: #d9f0dc;
}

.bg-secondary-light {
  background-color: #e2e3e5;
  border-color: #e2e3e5;
}

.bg-success-light {
  background-color: #d1e7dd;
  border-color: #d1e7dd;
}

.bg-danger-light {
  background-color: #f8d7da;
  border-color: #f8d7da;
}

.bg-warning-light {
  background-color: #fff3cd;
  border-color: #fff3cd;
}

.bg-info-light {
  background-color: #cff4fc;
  border-color: #cff4fc;
}

.bg-dark-light {
  background-color: #d3d3d4;
  border-color: #d3d3d4;
}

/* Card */
.card {
  margin-bottom: 30px;
  border: none;
  border-radius: 5px;
  box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1);
}

.card-header,
.card-footer {
  border-color: #ebeef4;
  background-color: #fff;
  color: #798eb3;
  padding: 15px;
}

.card-title {
  padding: 20px 0 15px 0;
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  color: #1b5e20;
  font-family: var(--cicosy-font-display);
}

.card-title span {
  color: #899bbd;
  font-size: 13px;
  font-weight: 400;
}

.card-body {
  padding: 0 20px 20px 20px;
}

.card-img-overlay {
  background-color: rgba(255, 255, 255, 0.6);
}

/* Form elements page */
.forms-elements-page .section>.row {
  align-items: stretch;
}

.forms-elements-page .card {
  height: 100%;
}

.forms-elements-page .card-body {
  padding: 0 1.25rem 1.5rem;
}

.forms-elements-page .card-title {
  padding: 1.35rem 0 1rem;
  margin-bottom: 0.25rem;
}

.forms-elements-page form>.row,
.forms-elements-page form>fieldset.row {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 0.4rem;
  align-items: center;
  margin-bottom: 1rem !important;
}

.forms-elements-page form>.row:last-child,
.forms-elements-page form>fieldset.row:last-child {
  margin-bottom: 0 !important;
}

.forms-elements-page .col-form-label,
.forms-elements-page .form-label {
  color: #1b5e20;
  font-weight: 600;
  line-height: 1.35;
}

.forms-elements-page .form-control,
.forms-elements-page .form-select,
.forms-elements-page .input-group-text {
  min-height: 2.75rem;
  border-color: #dbe3f0;
  border-radius: 0.5rem;
}

.forms-elements-page .form-control,
.forms-elements-page .form-select {
  color: #334155;
  background-color: #fff;
}

.forms-elements-page .form-control:focus,
.forms-elements-page .form-select:focus {
  border-color: #8794f6;
  box-shadow: 0 0 0 0.2rem rgba(27, 94, 32, 0.12);
}

.forms-elements-page .form-control:disabled,
.forms-elements-page .form-select:disabled {
  color: #798eb3;
  background-color: #f4fbf5;
}

.forms-elements-page textarea.form-control {
  min-height: 7rem;
}

.forms-elements-page .form-control-color {
  width: 4.5rem;
  padding: 0.35rem;
}

.forms-elements-page .form-check {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 1.9rem;
  padding-left: 0;
  margin-bottom: 0.45rem;
}

.forms-elements-page .form-check:last-child {
  margin-bottom: 0;
}

.forms-elements-page .form-check .form-check-input {
  flex: 0 0 auto;
  float: none;
  margin-top: 0;
  margin-left: 0;
}

.forms-elements-page .form-check-label {
  color: #334155;
}

.forms-elements-page .form-switch {
  gap: 0.75rem;
}

.forms-elements-page .form-switch .form-check-input {
  width: 2.5em;
}

.forms-elements-page .form-range {
  min-height: 2.75rem;
}

.forms-elements-page .form-floating {
  margin-bottom: 1rem !important;
}

.forms-elements-page .form-floating:last-child {
  margin-bottom: 0 !important;
}

.forms-elements-page .input-group {
  margin-bottom: 1rem !important;
}

.forms-elements-page .input-group:last-child {
  margin-bottom: 0 !important;
}

.forms-elements-page .input-group-text {
  color: #1b5e20;
  font-weight: 600;
  background-color: #f4fbf5;
}

.forms-elements-page .btn {
  min-height: var(--cicosy-button-height);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-right: var(--cicosy-button-padding-x);
  padding-left: var(--cicosy-button-padding-x);
  border-radius: 0.5rem;
}

@media (max-width: 575.98px) {
  .forms-elements-page .card-body {
    padding: 0 1rem 1.25rem;
  }

  .forms-elements-page .col-form-label,
  .forms-elements-page .form-label {
    padding-bottom: 0;
  }

  .forms-elements-page .input-group {
    flex-wrap: wrap;
  }

  .forms-elements-page .input-group>.form-control,
  .forms-elements-page .input-group>.input-group-text {
    flex: 1 0 100%;
    width: 100%;
    margin-left: 0 !important;
    border-radius: 0.5rem !important;
  }

  .forms-elements-page .input-group>.form-control:not(:last-child),
  .forms-elements-page .input-group>.input-group-text:not(:last-child) {
    margin-bottom: 0.5rem;
  }
}

@media (min-width: 576px) {
  .forms-elements-page form>.row>.col-sm-2,
  .forms-elements-page form>fieldset.row>.col-sm-2 {
    flex: 0 0 30%;
    max-width: 30%;
  }

  .forms-elements-page form>.row>.col-sm-10,
  .forms-elements-page form>fieldset.row>.col-sm-10 {
    flex: 0 0 70%;
    max-width: 70%;
  }
}

@media (min-width: 1200px) {
  .forms-elements-page form>.row>.col-sm-2,
  .forms-elements-page form>fieldset.row>.col-sm-2 {
    flex-basis: 28%;
    max-width: 28%;
  }

  .forms-elements-page form>.row>.col-sm-10,
  .forms-elements-page form>fieldset.row>.col-sm-10 {
    flex-basis: 72%;
    max-width: 72%;
  }
}

/* Alerts */
.alert-heading {
  font-weight: 500;
  font-family: var(--cicosy-font-display);
  font-size: 20px;
}

/* Close Button */
.btn-close {
  background-size: 25%;
}

.btn-close:focus {
  outline: 0;
  box-shadow: none;
}

/* Accordion */
.accordion-item {
  border: 1px solid #ebeef4;
}

.accordion-button:focus {
  outline: 0;
  box-shadow: none;
}

.accordion-button:not(.collapsed) {
  color: #1b5e20;
  background-color: #f4fbf5;
}

.accordion-flush .accordion-button {
  padding: 15px 0;
  background: none;
  border: 0;
}

.accordion-flush .accordion-button:not(.collapsed) {
  box-shadow: none;
  color: #1b5e20;
}

.accordion-flush .accordion-body {
  padding: 0 0 15px 0;
  color: #3e4f6f;
  font-size: 15px;
}

/* Breadcrumbs */
.breadcrumb {
  font-size: 14px;
  font-family: "Nunito", sans-serif;
  color: #899bbd;
  font-weight: 600;
}

.breadcrumb a {
  color: #899bbd;
  transition: 0.3s;
}

.breadcrumb a:hover {
  color: #51678f;
}

.breadcrumb .breadcrumb-item::before {
  color: #899bbd;
}

.breadcrumb .active {
  color: #51678f;
  font-weight: 600;
}

/* Bordered Tabs */
.nav-tabs-bordered {
  border-bottom: 2px solid #ebeef4;
}

.nav-tabs-bordered .nav-link {
  margin-bottom: -2px;
  border: none;
  color: #2c384e;
}

.nav-tabs-bordered .nav-link:hover,
.nav-tabs-bordered .nav-link:focus {
  color: #1b5e20;
}

.nav-tabs-bordered .nav-link.active {
  background-color: #fff;
  color: #1b5e20;
  border-bottom: 2px solid #1b5e20;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.logo {
  line-height: 1;
}

@media (min-width: 1200px) {
  .logo {
    width: 280px;
  }
}

.logo img {
  max-height: 26px;
  margin-right: 6px;
}

.logo span {
  font-size: 26px;
  font-weight: 700;
  color: #1b5e20;
  font-family: "Nunito", sans-serif;
}

.header {
  transition: all 0.5s;
  z-index: 997;
  height: 60px;
  box-shadow: 0px 2px 20px rgba(1, 41, 112, 0.1);
  background-color: #fff;
  padding-left: 20px;
  /* Toggle Sidebar Button */
  /* Search Bar */
}

.header .toggle-sidebar-btn {
  display: inline-grid;
  width: 42px;
  min-width: 42px;
  place-items: center;
  font-size: 32px;
  padding-left: 10px;
  cursor: pointer;
  color: #1b5e20;
}

.header-nav .nav-icon > i {
  display: inline-grid;
  width: 22px;
  min-width: 22px;
  place-items: center;
}

.header .search-bar {
  min-width: 360px;
  padding: 0 20px;
}

@media (max-width: 1199px) {
  .header .search-bar {
    position: fixed;
    top: 50px;
    left: 0;
    right: 0;
    padding: 20px;
    box-shadow: 0px 0px 15px 0px rgba(27, 94, 32, 0.1);
    background: white;
    z-index: 9999;
    transition: 0.3s;
    visibility: hidden;
    opacity: 0;
  }

  .header .search-bar-show {
    top: 60px;
    visibility: visible;
    opacity: 1;
  }
}

.header .search-form {
  width: 100%;
}

.header .search-form input {
  border: 0;
  font-size: 14px;
  color: #111827;
  background: #fff;
  border: 1px solid rgba(27, 94, 32, 0.28);
  padding: 7px 38px 7px 8px;
  border-radius: 3px;
  transition: 0.3s;
  width: 100%;
}

.header .search-form input:focus,
.header .search-form input:hover {
  outline: none;
  box-shadow: 0 0 10px 0 rgba(27, 94, 32, 0.14);
  border: 1px solid rgba(27, 94, 32, 0.4);
}

.header .search-form button {
  border: 0;
  padding: 0;
  margin-left: -30px;
  background: none;
}

.header .search-form button i {
  color: #111827;
}

/*--------------------------------------------------------------
# Header Nav
--------------------------------------------------------------*/
.header-nav ul {
  list-style: none;
}

.header-nav>ul {
  margin: 0;
  padding: 0;
}

.header-nav .nav-icon {
  font-size: 22px;
  color: #1b5e20;
  margin-right: 25px;
  position: relative;
}

.header-nav .nav-profile {
  color: #1b5e20;
}

.header-nav .nav-profile img {
  max-height: 36px;
}

.header-nav .nav-profile span {
  font-size: 14px;
  font-weight: 600;
}

.header-nav .badge-number {
  position: absolute;
  inset: -2px -5px auto auto;
  font-weight: normal;
  font-size: 12px;
  padding: 3px 6px;
}

.header-nav .notifications {
  inset: 8px -15px auto auto !important;
}

.header-nav .notifications .notification-item {
  display: flex;
  align-items: center;
  padding: 15px 10px;
  transition: 0.3s;
}

.header-nav .notifications .notification-item i {
  margin: 0 20px 0 10px;
  font-size: 24px;
}

.header-nav .notifications .notification-item h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
}

.header-nav .notifications .notification-item p {
  font-size: 13px;
  margin-bottom: 3px;
  color: #919191;
}

.header-nav .notifications .notification-item:hover {
  background-color: #f4fbf5;
}

.header-nav .messages {
  inset: 8px -15px auto auto !important;
}

.header-nav .messages .message-item {
  padding: 15px 10px;
  transition: 0.3s;
}

.header-nav .messages .message-item a {
  display: flex;
}

.header-nav .messages .message-item img {
  margin: 0 20px 0 10px;
  max-height: 40px;
}

.header-nav .messages .message-item h4 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #444444;
}

.header-nav .messages .message-item p {
  font-size: 13px;
  margin-bottom: 3px;
  color: #919191;
}

.header-nav .messages .message-item:hover {
  background-color: #f4fbf5;
}

.header-nav .profile {
  min-width: 240px;
  padding-bottom: 0;
  top: 8px !important;
}

.header-nav .profile .dropdown-header h6 {
  font-size: 18px;
  margin-bottom: 0;
  font-weight: 600;
  color: #444444;
}

.header-nav .profile .dropdown-header span {
  font-size: 14px;
}

.header-nav .profile .dropdown-item {
  font-size: 14px;
  padding: 10px 15px;
  transition: 0.3s;
}

.header-nav .profile .dropdown-item i {
  margin-right: 10px;
  font-size: 18px;
  line-height: 0;
}

.header-nav .profile .dropdown-item:hover {
  background-color: #f4fbf5;
}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.sidebar {
  position: fixed;
  top: 60px;
  left: 0;
  bottom: 0;
  width: var(--cicosy-sidebar-width);
  z-index: 996;
  transition: all 0.3s;
  padding: var(--cicosy-sidebar-padding);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #aab7cf transparent;
  box-shadow: 0px 0px 20px rgba(1, 41, 112, 0.1);
  background-color: #fff;
}

@media (max-width: 1199px) {
  .sidebar {
    left: calc(-1 * var(--cicosy-sidebar-width));
  }
}

.sidebar::-webkit-scrollbar {
  width: 5px;
  height: 8px;
  background-color: #fff;
}

.sidebar::-webkit-scrollbar-thumb {
  background-color: #aab7cf;
}

@media (min-width: 1200px) {

  #main,
  #footer {
    margin-left: var(--cicosy-sidebar-width);
  }
}

@media (max-width: 1199px) {
  .toggle-sidebar .sidebar {
    left: 0;
  }
}

@media (min-width: 1200px) {

  .toggle-sidebar #main,
  .toggle-sidebar #footer {
    margin-left: 0;
  }

  .toggle-sidebar .sidebar {
    left: calc(-1 * var(--cicosy-sidebar-width));
  }
}

.sidebar-nav {
  padding: 0;
  margin: 0;
  list-style: none;
}

.sidebar-nav li {
  padding: 0;
  margin: 0;
  list-style: none;
}

.sidebar-nav .nav-item {
  margin-bottom: 2px;
}

.sidebar-nav .nav-heading {
  font-size: 11px;
  text-transform: uppercase;
  color: #899bbd;
  font-weight: 600;
  margin: 8px 0 4px 12px;
}

.sidebar-nav .nav-link {
  display: flex;
  align-items: center;
  font-size: var(--cicosy-text-md);
  font-weight: 600;
  color: #1b5e20;
  transition: 0.3;
  background: #f4fbf5;
  padding: 8px 12px;
  border-radius: 4px;
}

.sidebar-nav .nav-link i {
  width: 16px;
  flex: 0 0 16px;
  font-size: 16px;
  margin-right: 8px;
  color: #1b5e20;
  text-align: center;
}

.sidebar-nav .nav-link.collapsed {
  color: #1b5e20;
  background: #fff;
}

.sidebar-nav .nav-link.collapsed i {
  color: #899bbd;
}

.sidebar-nav .nav-link:hover {
  color: #1b5e20;
  background: #f4fbf5;
}

.sidebar-nav .nav-link:hover i {
  color: #1b5e20;
}

.sidebar-nav .nav-link .bi-chevron-down {
  margin-right: 0;
  transition: transform 0.2s ease-in-out;
}

.sidebar-nav .nav-link:not(.collapsed) .bi-chevron-down {
  transform: rotate(180deg);
}

.sidebar-nav .nav-content {
  padding: 3px 0 0 0;
  margin: 0;
  list-style: none;
}

.sidebar-nav .nav-content a {
  display: flex;
  align-items: center;
  font-size: var(--cicosy-text-base);
  font-weight: 600;
  color: #1b5e20;
  transition: 0.3;
  padding: 7px 0 7px 34px;
  transition: 0.3s;
}

.sidebar-nav .nav-content a i {
  font-size: 6px;
  margin-right: 8px;
  line-height: 0;
  border-radius: 50%;
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
  color: #1b5e20;
}

.sidebar-nav .nav-content a.active i {
  background-color: #1b5e20;
}

/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/
/* Filter dropdown */
.dashboard .filter {
  position: absolute;
  right: 0px;
  top: 15px;
}

.dashboard .filter .icon {
  color: #aab7cf;
  padding-right: 20px;
  padding-bottom: 5px;
  transition: 0.3s;
  font-size: 16px;
}

.dashboard .filter .icon:hover,
.dashboard .filter .icon:focus {
  color: #1b5e20;
}

.dashboard .filter .dropdown-header {
  padding: 8px 15px;
}

.dashboard .filter .dropdown-header h6 {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #aab7cf;
  margin-bottom: 0;
  padding: 0;
}

.dashboard .filter .dropdown-item {
  padding: 8px 15px;
}

/* Info Cards */
.dashboard .info-card {
  padding-bottom: 10px;
}

.dashboard .info-card h6 {
  font-size: 28px;
  color: #1b5e20;
  font-weight: 700;
  margin: 0;
  padding: 0;
}

.dashboard .card-icon {
  font-size: 32px;
  line-height: 0;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  flex-grow: 0;
}

.dashboard .sales-card .card-icon {
  color: #1b5e20;
  background: #f6f6fe;
}

.dashboard .revenue-card .card-icon {
  color: #2eca6a;
  background: #e0f8e9;
}

.dashboard .customers-card .card-icon {
  color: #ff771d;
  background: #ffecdf;
}

/* Activity */
.dashboard .activity {
  font-size: 14px;
}

.dashboard .activity .activity-item .activite-label {
  color: #888;
  position: relative;
  flex-shrink: 0;
  flex-grow: 0;
  min-width: 64px;
}

.dashboard .activity .activity-item .activite-label::before {
  content: "";
  position: absolute;
  right: -11px;
  width: 4px;
  top: 0;
  bottom: 0;
  background-color: #eceefe;
}

.dashboard .activity .activity-item .activity-badge {
  margin-top: 3px;
  z-index: 1;
  font-size: 11px;
  line-height: 0;
  border-radius: 50%;
  flex-shrink: 0;
  border: 3px solid #fff;
  flex-grow: 0;
}

.dashboard .activity .activity-item .activity-content {
  padding-left: 10px;
  padding-bottom: 20px;
}

.dashboard .activity .activity-item:first-child .activite-label::before {
  top: 5px;
}

.dashboard .activity .activity-item:last-child .activity-content {
  padding-bottom: 0;
}

/* News & Updates */
.dashboard .news .post-item+.post-item {
  margin-top: 15px;
}

.dashboard .news img {
  width: 80px;
  float: left;
  border-radius: 5px;
}

.dashboard .news h4 {
  font-size: 15px;
  margin-left: 95px;
  font-weight: bold;
  margin-bottom: 5px;
}

.dashboard .news h4 a {
  color: #1b5e20;
  transition: 0.3s;
}

.dashboard .news h4 a:hover {
  color: #1b5e20;
}

.dashboard .news p {
  font-size: 14px;
  color: #777777;
  margin-left: 95px;
}

/* Recent Sales */
.dashboard .recent-sales {
  font-size: 14px;
}

.dashboard .recent-sales .table thead {
  background: #f6f6fe;
}

.dashboard .recent-sales .table thead th {
  border: 0;
}

.dashboard .recent-sales .dataTable-top {
  padding: 0 0 10px 0;
}

.dashboard .recent-sales .dataTable-bottom {
  padding: 10px 0 0 0;
}

/* Top Selling */
.dashboard .top-selling {
  font-size: 14px;
}

.dashboard .top-selling .table thead {
  background: #f6f6fe;
}

.dashboard .top-selling .table thead th {
  border: 0;
}

.dashboard .top-selling .table tbody td {
  vertical-align: middle;
}

.dashboard .top-selling img {
  border-radius: 5px;
  max-width: 60px;
}

/*--------------------------------------------------------------
# Icons list page
--------------------------------------------------------------*/
.cicosy-icons-page {
  padding-top: 1.5rem;
}

.cicosy-icon-browser {
  width: 100%;
  color: #1b5e20;
}

.cicosy-icon-browser__panel {
  overflow: hidden;
  width: 100%;
  background: #fff;
  border: 1px solid #d5dfff;
  border-radius: 0.25rem;
  box-shadow: 0 0.125rem 0.75rem rgba(1, 41, 112, 0.04);
}

.cicosy-icon-browser__header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1.35rem 1.5rem;
  border-bottom: 1px solid #d5dfff;
}

.cicosy-icon-browser__title,
.cicosy-icon-browser__summary,
.cicosy-icon-browser__results,
.cicosy-icon-browser__empty p {
  margin: 0;
}

.cicosy-icon-browser__title {
  color: #1b5e20;
  font-family: "Nunito", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
}

.cicosy-icon-browser__summary,
.cicosy-icon-browser__results {
  color: #65708a;
  font-size: 1rem;
  line-height: 1.5;
}

.cicosy-icon-browser__body {
  padding: 1.5rem;
}

.cicosy-icon-browser__toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.cicosy-icon-browser__search {
  display: flex;
  min-width: 0;
  height: 3.125rem;
  margin: 0;
}

.cicosy-icon-browser__search-icon {
  display: inline-flex;
  flex: 0 0 3.25rem;
  align-items: center;
  justify-content: center;
  color: #536484;
  background: #f8f9ff;
  border: 1px solid #d5dfff;
  border-right: 0;
  border-radius: 0.25rem 0 0 0.25rem;
  font-size: 1.25rem;
}

.cicosy-icon-browser__search-input,
.cicosy-icon-browser__category {
  width: 100%;
  min-width: 0;
  height: 3.125rem;
  color: #26324a;
  background-color: #fff;
  border: 1px solid #d5dfff;
  border-radius: 0.25rem;
  font: inherit;
  font-size: 1rem;
  outline: 0;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.cicosy-icon-browser__search-input {
  padding: 0.75rem 1rem;
  border-radius: 0 0.25rem 0.25rem 0;
}

.cicosy-icon-browser__search-input::placeholder {
  color: #97a2ba;
  opacity: 1;
}

.cicosy-icon-browser__category-wrap {
  position: relative;
  display: block;
  min-width: 0;
  margin: 0;
}

.cicosy-icon-browser__category {
  padding: 0.75rem 2.75rem 0.75rem 1rem;
  cursor: pointer;
}

.cicosy-icon-browser__search-input:focus,
.cicosy-icon-browser__category:focus {
  border-color: #1b5e20;
  box-shadow: 0 0 0 0.2rem rgba(27, 94, 32, 0.14);
}

.cicosy-icon-browser__results {
  padding: 1.75rem 0 1.25rem;
}

.cicosy-icon-browser .iconslist {
  display: grid;
  max-width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  padding: 0;
}

.cicosy-icon-browser .iconslist .icon {
  display: flex;
  min-width: 0;
  min-height: 7.875rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  padding: 1rem 0.75rem;
  color: #26324a;
  background: #fff;
  border: 1px solid #d5dfff;
  border-radius: 0.5rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cicosy-icon-browser .iconslist .icon:hover,
.cicosy-icon-browser .iconslist .icon:focus-visible,
.cicosy-icon-browser .iconslist .icon.is-copied {
  color: #1b5e20;
  border-color: #1b5e20;
  box-shadow: 0 0.35rem 1rem rgba(27, 94, 32, 0.12);
  outline: 0;
  transform: translateY(-0.125rem);
}

.cicosy-icon-browser .iconslist .icon > i,
.cicosy-icon-browser .iconslist .icon > svg {
  width: 2rem;
  height: 2rem;
  margin: 0;
  color: currentColor;
  font-size: 2rem;
  stroke-width: 1.8;
}

.cicosy-icon-browser .iconslist .label {
  display: block;
  overflow: hidden;
  width: 100%;
  padding: 0;
  color: #65708a;
  font-family: "Open Sans", sans-serif;
  font-size: 0.8125rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cicosy-icon-browser__empty {
  min-height: 12rem;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.75rem;
  color: #65708a;
  text-align: center;
}

.cicosy-icon-browser__empty:not([hidden]) {
  display: flex;
}

.cicosy-icon-browser__empty i {
  color: #1b5e20;
  font-size: 2rem;
}

.cicosy-icon-browser__copy-status {
  position: fixed;
  z-index: 1085;
  right: 1rem;
  bottom: 1rem;
  max-width: min(26rem, calc(100vw - 2rem));
  padding: 0.75rem 1rem;
  color: #fff;
  background: #1b5e20;
  border-radius: 0.25rem;
  box-shadow: 0 0.5rem 1.5rem rgba(1, 41, 112, 0.22);
  font-size: 0.875rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.75rem);
  transition: opacity 160ms ease, transform 160ms ease;
}

.cicosy-icon-browser__copy-status.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 576px) {
  .cicosy-icon-browser .iconslist {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .cicosy-icon-browser__header {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .cicosy-icon-browser__summary {
    text-align: right;
  }

  .cicosy-icon-browser__toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .cicosy-icon-browser .iconslist {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .cicosy-icon-browser .iconslist {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .cicosy-icon-browser .iconslist {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (min-width: 1400px) {
  .cicosy-icon-browser .iconslist {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .cicosy-icon-browser .iconslist .icon,
  .cicosy-icon-browser__copy-status,
  .cicosy-icon-browser__search-input,
  .cicosy-icon-browser__category {
    transition: none;
  }
}

/*--------------------------------------------------------------
# Profie Page
--------------------------------------------------------------*/
.profile .profile-card img {
  max-width: 120px;
}

.profile .profile-card h2 {
  font-size: 24px;
  font-weight: 700;
  color: #2c384e;
  margin: 10px 0 0 0;
}

.profile .profile-card h3 {
  font-size: 18px;
}

.profile .profile-card .social-links a {
  font-size: 20px;
  display: inline-block;
  color: rgba(1, 41, 112, 0.5);
  line-height: 0;
  margin-right: 10px;
  transition: 0.3s;
}

.profile .profile-card .social-links a:hover {
  color: #1b5e20;
}

.profile .profile-overview .row {
  margin-bottom: 20px;
  font-size: 15px;
}

.profile .profile-overview .card-title {
  color: #1b5e20;
}

.profile .profile-overview .label {
  font-weight: 600;
  color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit label {
  font-weight: 600;
  color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit img {
  max-width: 120px;
}

/*--------------------------------------------------------------
# F.A.Q Page
--------------------------------------------------------------*/
.faq .basic h6 {
  font-size: 18px;
  font-weight: 600;
  color: #1b5e20;
}

.faq .basic p {
  color: #6980aa;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info-box {
  padding: 28px 30px;
}

.contact .info-box i {
  font-size: 38px;
  line-height: 0;
  color: #1b5e20;
}

.contact .info-box h3 {
  font-size: 20px;
  color: #1b5e20;
  font-weight: 700;
  margin: 20px 0 10px 0;
}

.contact .info-box p {
  padding: 0;
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  margin-bottom: 24px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
  margin-bottom: 24px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  border-radius: 0;
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
  border-color: #1b5e20;
}

.contact .php-email-form input {
  padding: 10px 15px;
}

.contact .php-email-form textarea {
  padding: 12px 15px;
}

.contact .php-email-form button[type=submit] {
  background: #1b5e20;
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  border-radius: 4px;
}

.contact .php-email-form button[type=submit]:hover {
  background: #5969f3;
}

@-webkit-keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.cicosy-error-page {
  padding: 40px 0;
}

.cicosy-error-page__card {
  text-align: center;
}

.cicosy-error-page__status {
  color: var(--cicosy-dashboard-primary);
  font-family: var(--cicosy-font-display);
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
}

.cicosy-error-page__title {
  margin: 16px 0 8px;
  color: var(--cicosy-text-strong);
  font-size: var(--cicosy-text-2xl);
  font-weight: 700;
}

.cicosy-error-page__message {
  max-width: 34rem;
  margin: 0 auto;
  color: var(--cicosy-text-muted);
  font-size: var(--cicosy-text-lg);
  line-height: var(--cicosy-line-relaxed);
}

.cicosy-error-page__details {
  display: grid;
  gap: 10px;
  margin: 24px auto 0;
  max-width: 34rem;
  text-align: left;
}

.cicosy-error-page__details div {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--cicosy-dashboard-primary-border);
  border-radius: 4px;
  background: var(--cicosy-dashboard-primary-soft);
}

.cicosy-error-page__details dt {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-weight: 700;
}

.cicosy-error-page__details dd {
  min-width: 0;
  margin: 0;
  color: var(--cicosy-text-body);
  overflow-wrap: anywhere;
}

.cicosy-error-page__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 26px;
}

@media (max-width: 575.98px) {
  .cicosy-error-page {
    padding: 24px 0;
  }

  .cicosy-error-page__status {
    font-size: 3.75rem;
  }

  .cicosy-error-page__details div {
    grid-template-columns: minmax(0, 1fr);
  }
}

.error-404 {
  padding: 30px;
}

.error-404 h1 {
  font-size: 180px;
  font-weight: 700;
  color: #1b5e20;
  margin-bottom: 0;
  line-height: 150px;
}

.error-404 h2 {
  font-size: 24px;
  font-weight: 700;
  color: #1b5e20;
  margin-bottom: 30px;
}

.error-404 .btn {
  background: #51678f;
  color: #fff;
  padding: 8px 30px;
}

.error-404 .btn:hover {
  background: #3e4f6f;
}

@media (min-width: 992px) {
  .error-404 img {
    max-width: 50%;
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
  padding: 20px 0;
  font-size: 14px;
  transition: all 0.3s;
  border-top: 1px solid #cddfff;
}

.footer .copyright {
  text-align: center;
  color: #1b5e20;
}

.footer .credits {
  padding-top: 5px;
  text-align: center;
  font-size: 13px;
  color: #1b5e20;
}

/* Form elements showcase fragment */
.forms-elements-showcase {
      --page-bg: #f3f6ff;
      --card-bg: #ffffff;
      --primary: #1b5e20;
      --accent: #1b5e20;
      --accent-strong: #2f44e8;
      --border: #d7e2ff;
      --input-border: #111827;
      --text: #26344d;
      --muted: #6c7890;
      --placeholder: #9ba7bd;
      --disabled-bg: #f3f5fb;
      --disabled-text: #9aa6b8;
      --shadow: 0 4px 14px rgba(1, 41, 112, 0.06);
      --radius: 4px;
      --container-gap: 20px;
    }

    .forms-elements-showcase, .forms-elements-showcase * {
      box-sizing: border-box;
    }

    .forms-elements-showcase {
      margin: 0;
      min-height: 100vh;
      background: var(--page-bg);
      color: var(--text);
      font-family: "Open Sans", sans-serif;
      font-size: 14px;
      line-height: 1.45;
    }

    .forms-elements-showcase .page {
      width: 100%;
      padding: 18px 14px 36px;
    }

    .forms-elements-showcase .page-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 36px;
    }

    .forms-elements-showcase .page-title {
      margin: 0;
      color: var(--primary);
      font-size: 24px;
      font-weight: 700;
      letter-spacing: 0;
    }

    .forms-elements-showcase .breadcrumb {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--muted);
      font-size: 13px;
      white-space: nowrap;
    }

    .forms-elements-showcase .breadcrumb a {
      color: #53627f;
      text-decoration: none;
    }

    .forms-elements-showcase .breadcrumb a:hover {
      color: var(--accent);
    }

    .forms-elements-showcase .breadcrumb span {
      color: #8a95a8;
    }

    .forms-elements-showcase .breadcrumb strong {
      color: var(--primary);
      font-weight: 500;
    }

    .forms-elements-showcase .form-section {
      margin-bottom: 28px;
    }

    .forms-elements-showcase .section-title {
      margin: 0 0 14px 4px;
      color: var(--primary);
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0;
    }

    .forms-elements-showcase .section-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--container-gap);
    }

    .forms-elements-showcase .card {
      overflow: hidden;
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }

    .forms-elements-showcase .card-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      min-height: 50px;
      padding: 14px 20px;
      border-bottom: 1px solid var(--border);
    }

    .forms-elements-showcase .card-title {
      margin: 0;
      color: var(--primary);
      font-size: 16px;
      font-weight: 700;
      letter-spacing: 0;
    }

    .forms-elements-showcase .card-subtitle {
      color: var(--muted);
      font-size: 13px;
      text-align: right;
      white-space: nowrap;
    }

    .forms-elements-showcase .card-body {
      padding: 20px;
    }

    .forms-elements-showcase .form-group {
      margin-bottom: 16px;
    }

    .forms-elements-showcase .form-group:last-child {
      margin-bottom: 0;
    }

    .forms-elements-showcase label,
.forms-elements-showcase .field-label {
      display: block;
      margin-bottom: 8px;
      color: var(--primary);
      font-size: 14px;
      font-weight: 500;
    }

    .forms-elements-showcase .plain-text-value {
      padding-top: 10px;
      color: #111827;
      font-size: 14px;
    }

    .forms-elements-showcase .form-control,
.forms-elements-showcase .form-select {
      width: 100%;
      min-height: 25px;
      padding: 4px 10px;
      border: 1px solid var(--input-border);
      border-radius: var(--radius);
      background-color: #ffffff;
      color: var(--text);
      font: inherit;
      outline: none;
      transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
    }

    .forms-elements-showcase .form-control::placeholder,
.forms-elements-showcase textarea::placeholder {
      color: var(--placeholder);
    }

    .forms-elements-showcase .form-control:focus,
.forms-elements-showcase .form-select:focus,
.forms-elements-showcase textarea:focus {
      border-color: #8da0ff;
      box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.12);
    }

    .forms-elements-showcase .form-control[readonly],
.forms-elements-showcase textarea[readonly] {
      background-color: #f7f8fc;
      color: #7b8799;
    }

    .forms-elements-showcase .form-control:disabled,
.forms-elements-showcase .form-select:disabled,
.forms-elements-showcase textarea:disabled {
      background-color: var(--disabled-bg);
      color: var(--disabled-text);
      cursor: not-allowed;
      opacity: 1;
    }

    .forms-elements-showcase .form-control-sm,
.forms-elements-showcase .form-select-sm {
      min-height: 34px;
      padding: 6px 10px;
      font-size: 13px;
    }

    .forms-elements-showcase .form-control-lg,
.forms-elements-showcase .form-select-lg {
      min-height: 53px;
      padding: 13px 20px;
      font-size: 15px;
    }

    .forms-elements-showcase .form-select {
      appearance: none;
      background-image: linear-gradient(45deg, transparent 50%, #60718c 50%),
        linear-gradient(135deg, #60718c 50%, transparent 50%);
      background-position: calc(100% - 22px) 17px, calc(100% - 16px) 17px;
      background-size: 6px 6px, 6px 6px;
      background-repeat: no-repeat;
      padding-right: 42px;
    }

    .forms-elements-showcase .form-select-sm {
      background-position: calc(100% - 22px) 13px, calc(100% - 16px) 13px;
    }

    .forms-elements-showcase .form-select-lg {
      background-position: calc(100% - 22px) 23px, calc(100% - 16px) 23px;
    }

    .forms-elements-showcase textarea.form-control {
      min-height: 100px;
      resize: vertical;
    }

    .forms-elements-showcase .textarea-lg {
      min-height: 124px;
    }

    .forms-elements-showcase .helper-text {
      margin-top: 6px;
      color: var(--muted);
      font-size: 13px;
    }

    .forms-elements-showcase .color-input {
      height: 25px;
      padding: 4px 10px;
      cursor: pointer;
    }

    .forms-elements-showcase .color-input::-webkit-color-swatch-wrapper {
      padding: 0;
    }

    .forms-elements-showcase .color-input::-webkit-color-swatch {
      border: none;
      border-radius: 4px;
    }

    .forms-elements-showcase .color-input::-moz-color-swatch {
      border: none;
      border-radius: 4px;
    }

    .forms-elements-showcase .range-wrap {
      padding-top: 4px;
    }

    .forms-elements-showcase input[type="range"] {
      width: 100%;
      accent-color: var(--accent);
      cursor: pointer;
    }

    .forms-elements-showcase .range-labels {
      display: flex;
      justify-content: space-between;
      margin-top: 7px;
      color: #667085;
      font-size: 14px;
    }

    .forms-elements-showcase .choice-block-title {
      margin: 2px 0 14px;
      color: #5f6f89;
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
    }

    .forms-elements-showcase .choice-block {
      margin-bottom: 26px;
    }

    .forms-elements-showcase .choice-block:last-child {
      margin-bottom: 0;
    }

    .forms-elements-showcase .choice-list {
      display: grid;
      gap: 10px;
    }

    .forms-elements-showcase .choice-row,
.forms-elements-showcase .choice-inline {
      display: flex;
      align-items: center;
      gap: 9px;
      color: #27364f;
      font-size: 14px;
    }

    .forms-elements-showcase .choice-inline-group {
      display: flex;
      flex-wrap: wrap;
      gap: 32px;
    }

    .forms-elements-showcase input[type="checkbox"],
.forms-elements-showcase input[type="radio"] {
      width: 18px;
      height: 18px;
      margin: 0;
      accent-color: var(--accent);
    }

    .forms-elements-showcase input[type="checkbox"]:disabled,
.forms-elements-showcase input[type="radio"]:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }

    .forms-elements-showcase .is-disabled {
      color: #9aa4b5;
    }

    .forms-elements-showcase .radio-button-group {
      display: inline-flex;
      overflow: hidden;
      border: 1px solid var(--accent);
      border-radius: var(--radius);
    }

    .forms-elements-showcase .radio-button-group input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .forms-elements-showcase .radio-button-group label {
      margin: 0;
      padding: 9px 22px;
      border-right: 1px solid var(--accent);
      color: var(--accent);
      font-size: 14px;
      font-weight: 500;
      cursor: pointer;
      transition: background-color 160ms ease, color 160ms ease;
    }

    .forms-elements-showcase .radio-button-group label:last-child {
      border-right: 0;
    }

    .forms-elements-showcase .radio-button-group input:checked + label {
      background: var(--accent);
      color: #ffffff;
    }

    .forms-elements-showcase .radio-button-group label:hover {
      background: rgba(27, 94, 32, 0.08);
    }

    .forms-elements-showcase .radio-button-group input:checked + label:hover {
      background: var(--accent-strong);
    }



    /* Additional form element sections */
    .forms-elements-showcase .stack {
      display: grid;
      gap: 14px;
    }

    .forms-elements-showcase .stack-lg {
      display: grid;
      gap: 18px;
    }

    .forms-elements-showcase .inline-field-row {
      display: grid;
      grid-template-columns: 1fr 0.65fr 0.3fr;
      gap: 20px;
    }

    .forms-elements-showcase .settings-list {
      display: grid;
      gap: 0;
    }

    .forms-elements-showcase .settings-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 18px 0;
      border-bottom: 1px solid #d6dce8;
    }

    .forms-elements-showcase .settings-row:first-child {
      padding-top: 0;
    }

    .forms-elements-showcase .settings-row:last-child {
      padding-bottom: 0;
      border-bottom: 0;
    }

    .forms-elements-showcase .settings-title {
      margin: 0 0 2px;
      color: #111827;
      font-size: 14px;
      font-weight: 500;
    }

    .forms-elements-showcase .settings-description {
      margin: 0;
      color: #52627a;
      font-size: 13px;
    }

    .forms-elements-showcase .switch-row {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 14px;
      color: #27364f;
    }

    .forms-elements-showcase .switch-row:last-child {
      margin-bottom: 0;
    }

    .forms-elements-showcase .switch {
      position: relative;
      display: inline-flex;
      width: 40px;
      height: 20px;
      flex: 0 0 auto;
      margin: 0;
    }

    .forms-elements-showcase .switch input {
      position: absolute;
      opacity: 0;
      width: 0;
      height: 0;
    }

    .forms-elements-showcase .switch-slider {
      position: absolute;
      inset: 0;
      border: 1px solid var(--input-border);
      border-radius: 999px;
      background: #f8fbff;
      cursor: pointer;
      transition: background-color 160ms ease, border-color 160ms ease, opacity 160ms ease;
    }

    .forms-elements-showcase .switch-slider::before {
      content: "";
      position: absolute;
      width: 14px;
      height: 14px;
      left: 3px;
      top: 2px;
      border-radius: 50%;
      background: #718197;
      transition: transform 160ms ease, background-color 160ms ease;
    }

    .forms-elements-showcase .switch input:checked + .switch-slider {
      border-color: var(--accent);
      background: var(--accent);
    }

    .forms-elements-showcase .switch input:checked + .switch-slider::before {
      transform: translateX(20px);
      background: #ffffff;
    }

    .forms-elements-showcase .switch input:disabled + .switch-slider {
      opacity: 0.58;
      cursor: not-allowed;
    }

    .forms-elements-showcase .switch input:disabled + .switch-slider::before {
      background: #9aa8bd;
    }

    .forms-elements-showcase .input-group {
      display: flex;
      align-items: stretch;
      width: 100%;
    }

    .forms-elements-showcase .input-group > .form-control,
.forms-elements-showcase .input-group > .form-select {
      position: relative;
      flex: 1 1 auto;
      min-width: 0;
      border-radius: 0;
    }

    .forms-elements-showcase .input-group > .form-control:first-child,
.forms-elements-showcase .input-group > .form-select:first-child,
.forms-elements-showcase .input-group > .input-addon:first-child,
.forms-elements-showcase .input-group > .btn:first-child {
      border-top-left-radius: var(--radius);
      border-bottom-left-radius: var(--radius);
    }

    .forms-elements-showcase .input-group > .form-control:last-child,
.forms-elements-showcase .input-group > .form-select:last-child,
.forms-elements-showcase .input-group > .input-addon:last-child,
.forms-elements-showcase .input-group > .btn:last-child {
      border-top-right-radius: var(--radius);
      border-bottom-right-radius: var(--radius);
    }

    .forms-elements-showcase .input-group > * + * {
      margin-left: -1px;
    }

    .forms-elements-showcase .input-addon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 40px;
      padding: 0 14px;
      border: 1px solid var(--input-border);
      background: #f5f7fd;
      color: #5f6f89;
      font: inherit;
      white-space: nowrap;
    }

    .forms-elements-showcase .input-addon.message-addon {
      min-width: 88px;
      justify-content: flex-start;
    }

    .forms-elements-showcase .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: var(--cicosy-button-height);
      padding: 0.25rem var(--cicosy-button-padding-x);
      border: 1px solid #64748b;
      border-radius: var(--radius);
      background: #ffffff;
      color: #334155;
      font: inherit;
      font-weight: 500;
      text-decoration: none;
      cursor: pointer;
      transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
    }

    .forms-elements-showcase .btn:hover {
      background: #f7f9ff;
    }

    .forms-elements-showcase .btn-primary {
      border-color: var(--accent);
      background: var(--accent);
      color: #ffffff;
    }

    .forms-elements-showcase .btn-primary:hover {
      background: var(--accent-strong);
      border-color: var(--accent-strong);
    }

    .forms-elements-showcase .btn-outline-primary {
      border-color: var(--accent);
      color: var(--accent);
      background: #ffffff;
    }

    .forms-elements-showcase .btn-outline-primary:hover {
      background: var(--accent);
      color: #ffffff;
    }

    .forms-elements-showcase .btn:disabled,
.forms-elements-showcase .btn.disabled {
      border-color: #93c5fd;
      background: #60a5fa;
      color: #ffffff;
      cursor: not-allowed;
      opacity: 0.95;
    }

    .forms-elements-showcase .btn-icon {
      width: var(--cicosy-icon-button-size);
      min-width: var(--cicosy-icon-button-size);
      height: var(--cicosy-icon-button-size);
      padding-inline: 0;
      font-size: var(--cicosy-text-md);
    }

    .forms-elements-showcase .dropdown-caret {
      display: inline-block;
      margin-left: 12px;
      font-size: 11px;
      line-height: 1;
    }

    .forms-elements-showcase .segmented-btn {
      min-width: 140px;
      justify-content: space-between;
    }

    .forms-elements-showcase .floating-field {
      position: relative;
    }

    .forms-elements-showcase .floating-field label {
      position: absolute;
      top: 10px;
      left: 14px;
      z-index: 2;
      margin: 0;
      color: #6b7890;
      font-size: 14px;
      font-weight: 400;
      pointer-events: none;
    }

    .forms-elements-showcase .floating-field .form-control,
.forms-elements-showcase .floating-field .form-select {
      min-height: 58px;
      padding-top: 24px;
      padding-bottom: 8px;
    }

    .forms-elements-showcase .floating-field textarea.form-control {
      min-height: 100px;
      padding-top: 28px;
    }

    .forms-elements-showcase .floating-field:not(.has-value) .form-control::placeholder {
      color: transparent;
    }

    .forms-elements-showcase .floating-field.simple-placeholder label {
      top: 18px;
      font-size: 14px;
    }

    .forms-elements-showcase .floating-field.simple-placeholder .form-control {
      padding-top: 9px;
    }

    .forms-elements-showcase .file-control {
      min-height: 25px;
      padding: 0;
      overflow: hidden;
    }

    .forms-elements-showcase .file-control::file-selector-button {
      min-height: 25px;
      margin: 0 8px 0 0;
      padding: 0 10px;
      border: 0;
      border-right: 1px solid var(--input-border);
      background: #ffffff;
      color: #111827;
      font: inherit;
      cursor: pointer;
    }

    .forms-elements-showcase .file-control-sm {
      min-height: 33px;
      font-size: 13px;
    }

    .forms-elements-showcase .file-control-sm::file-selector-button {
      min-height: 31px;
      padding: 0 12px;
    }

    .forms-elements-showcase .file-control-lg {
      min-height: 53px;
      font-size: 15px;
    }

    .forms-elements-showcase .file-control-lg::file-selector-button {
      min-height: 51px;
      padding: 0 20px;
    }

    .forms-elements-showcase .file-control:disabled::file-selector-button {
      color: #6b7280;
      background: #eef1f7;
      cursor: not-allowed;
    }

    .forms-elements-showcase .avatar-upload-row {
      display: flex;
      align-items: center;
      gap: 16px;
    }

    .forms-elements-showcase .avatar-preview {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 64px;
      height: 64px;
      flex: 0 0 64px;
      border-radius: 50%;
      background: #f2f5ff;
      color: #5f6f89;
      font-size: 28px;
    }

    .forms-elements-showcase .upload-area {
      flex: 1;
      min-width: 0;
    }

    .forms-elements-showcase .label-line {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 8px;
    }

    .forms-elements-showcase .label-line label,
.forms-elements-showcase .label-line .field-label {
      margin-bottom: 0;
    }

    .forms-elements-showcase .required-mark,
.forms-elements-showcase .danger-text {
      color: #ff3b57;
    }

    .forms-elements-showcase .badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 18px;
      padding: 2px 6px;
      border-radius: 4px;
      background: var(--accent);
      color: #ffffff;
      font-size: 11px;
      font-weight: 700;
      line-height: 1;
    }

    .forms-elements-showcase .form-link {
      color: var(--accent);
      font-size: 13px;
      text-decoration: none;
    }

    .forms-elements-showcase .form-link:hover {
      text-decoration: underline;
    }

    .forms-elements-showcase .validation-wrap {
      position: relative;
    }

    .forms-elements-showcase .validation-wrap .form-control,
.forms-elements-showcase .validation-wrap .form-select {
      padding-right: 44px;
    }

    .forms-elements-showcase .validation-icon {
      position: absolute;
      top: 50%;
      right: 14px;
      transform: translateY(-50%);
      font-size: 18px;
      font-weight: 700;
      pointer-events: none;
    }

    .forms-elements-showcase .is-valid .form-control,
.forms-elements-showcase .is-valid .form-select {
      border-color: #198754;
    }

    .forms-elements-showcase .is-valid .validation-icon,
.forms-elements-showcase .is-valid .feedback {
      color: #198754;
    }

    .forms-elements-showcase .is-invalid .form-control,
.forms-elements-showcase .is-invalid .form-select {
      border-color: #ff3b57;
    }

    .forms-elements-showcase .is-invalid .validation-icon,
.forms-elements-showcase .is-invalid .feedback {
      color: #ff3b57;
    }

    .forms-elements-showcase .feedback {
      margin-top: 6px;
      font-size: 13px;
    }

    .forms-elements-showcase .validation-choice-row {
      display: grid;
      grid-template-columns: 110px 1fr;
      gap: 12px;
      align-items: center;
      margin-bottom: 24px;
    }

    .forms-elements-showcase .validation-choice-row:last-child {
      margin-bottom: 0;
    }

    .forms-elements-showcase .validation-choice-stack {
      display: grid;
      gap: 8px;
    }

    .forms-elements-showcase .validation-choice-stack .choice-row {
      align-items: flex-start;
    }

    .forms-elements-showcase .success-text {
      color: #198754;
    }

    .forms-elements-showcase .muted-panel-title {
      margin: 4px 0 14px;
      color: #111827;
      font-size: 24px;
      font-weight: 400;
    }

    .forms-elements-showcase .readonly-detail {
      margin-bottom: 22px;
    }

    .forms-elements-showcase .readonly-detail .field-label {
      margin-bottom: 14px;
    }

    .forms-elements-showcase .readonly-value {
      color: #111827;
      font-size: 14px;
    }

    .forms-elements-showcase .disabled-fieldset-card .form-control,
.forms-elements-showcase .disabled-fieldset-card .form-select,
.forms-elements-showcase .disabled-fieldset-card input[type="checkbox"] {
      cursor: not-allowed;
    }

    .forms-elements-showcase .section-spacer-small {
      margin-bottom: 20px;
    }

    @media (max-width: 991.98px) {
      .forms-elements-showcase .section-grid {
        grid-template-columns: 1fr;
      }

      .forms-elements-showcase .page-header {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 24px;
      }

      .forms-elements-showcase .breadcrumb {
        white-space: normal;
      }

      .forms-elements-showcase .card-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
      }

      .forms-elements-showcase .card-subtitle {
        text-align: left;
        white-space: normal;
      }
    }

    @media (max-width: 575.98px) {
      .forms-elements-showcase .page {
        padding: 16px 10px 28px;
      }

      .forms-elements-showcase .card-body {
        padding: 16px;
      }

      .forms-elements-showcase .card-header {
        padding: 13px 16px;
      }

      .forms-elements-showcase .choice-inline-group {
        gap: 18px;
      }

      .forms-elements-showcase .radio-button-group {
        display: flex;
        width: 100%;
      }

      .forms-elements-showcase .radio-button-group label {
        flex: 1;
        padding-inline: 10px;
        text-align: center;
      }
    }


    @media (max-width: 767.98px) {
      .forms-elements-showcase .inline-field-row,
.forms-elements-showcase .validation-choice-row {
        grid-template-columns: 1fr;
      }

      .forms-elements-showcase .settings-row,
.forms-elements-showcase .avatar-upload-row {
        align-items: flex-start;
      }

      .forms-elements-showcase .settings-row {
        flex-direction: column;
      }

      .forms-elements-showcase .input-group {
        flex-wrap: nowrap;
      }
    }

.forms-elements-showcase .section-title,
.forms-elements-showcase .card-title {
  font-family: "Nunito", sans-serif;
}

.forms-elements-showcase .card-subtitle,
.forms-elements-showcase label,
.forms-elements-showcase .field-label,
.forms-elements-showcase .helper-text,
.forms-elements-showcase .feedback {
  font-family: "Open Sans", sans-serif;
}

.forms-elements-showcase .optional-note {
  display: inline;
  margin: 0;
}

.forms-elements-showcase .fieldset-reset {
  border: 0;
  padding: 0;
  margin: 0;
}

/* Reusable form field fragments */
.cicosy-form-section,
.cicosy-form-card,
.cicosy-form-field {
  --cicosy-form-card-bg: #ffffff;
  --cicosy-form-primary: #1b5e20;
  --cicosy-form-border: #cfe8d2;
  --cicosy-form-input-border: #111827;
  --cicosy-form-text: #26344d;
  --cicosy-form-muted: #6c7890;
  --cicosy-form-placeholder: #9ba7bd;
  --cicosy-form-disabled-bg: #f3f5fb;
  --cicosy-form-disabled-text: #9aa6b8;
  --cicosy-form-radius: 4px;
  --cicosy-form-shadow: none;
  font-family: "Open Sans", sans-serif;
}

.cicosy-form-section {
  margin-bottom: 28px;
}

.cicosy-form-section-title {
  margin: 0 0 14px 4px;
  color: var(--cicosy-form-primary);
  font-family: "Nunito", sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
}

.cicosy-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.cicosy-form-card {
  overflow: hidden;
  background: var(--cicosy-form-card-bg);
  border: 1px solid var(--cicosy-form-border);
  border-radius: var(--cicosy-form-radius);
  box-shadow: var(--cicosy-form-shadow);
}

.cicosy-form-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 50px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--cicosy-form-border);
}

.cicosy-form-card-title {
  margin: 0;
  color: var(--cicosy-form-primary);
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
}

.cicosy-form-card-subtitle {
  color: var(--cicosy-form-muted);
  font-size: 13px;
  text-align: right;
  white-space: nowrap;
}

.cicosy-form-card-body {
  padding: 20px;
}

.cicosy-form-field {
  margin-bottom: 16px;
}

.cicosy-form-field:last-child {
  margin-bottom: 0;
}

.cicosy-form-label {
  display: block;
  margin-bottom: 8px;
  color: var(--cicosy-form-primary);
  font-size: 14px;
  font-weight: 500;
}

.cicosy-form-control,
.cicosy-form-select {
  width: 100%;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--cicosy-form-input-border);
  border-radius: var(--cicosy-form-radius);
  background-color: #ffffff;
  color: var(--cicosy-form-text);
  font: inherit;
  outline: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.cicosy-form-control::placeholder {
  color: var(--cicosy-form-placeholder);
}

.cicosy-form-control:focus,
.cicosy-form-select:focus {
  border-color: #8da0ff;
  box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.12);
}

.cicosy-form-control[readonly] {
  background-color: #f7f8fc;
  color: #7b8799;
}

.cicosy-form-control:disabled,
.cicosy-form-select:disabled {
  background-color: var(--cicosy-form-disabled-bg);
  color: var(--cicosy-form-disabled-text);
  cursor: not-allowed;
  opacity: 1;
}

.cicosy-form-control.form-control-sm,
.cicosy-form-select.form-select-sm {
  min-height: 31px;
  padding: 5px 10px;
  font-size: var(--cicosy-text-sm);
}

.cicosy-form-control.form-control-lg,
.cicosy-form-select.form-select-lg {
  min-height: 42px;
  padding: 9px 14px;
  font-size: var(--cicosy-text-md);
}

.cicosy-form-plain-value {
  padding-top: 10px;
  color: #111827;
  font-size: 14px;
}

.cicosy-form-feedback {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
}

.cicosy-form-validation-wrap {
  position: relative;
}

.cicosy-form-validation-wrap .cicosy-form-control,
.cicosy-form-validation-wrap .cicosy-form-select {
  padding-right: 40px;
}

.cicosy-form-field.is-valid .cicosy-form-control,
.cicosy-form-field.is-valid .cicosy-form-select {
  border-color: #12a05c;
}

.cicosy-form-field.is-invalid .cicosy-form-control,
.cicosy-form-field.is-invalid .cicosy-form-select {
  border-color: #e83f5b;
}

.cicosy-form-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  color: var(--cicosy-form-text);
  font-size: 14px;
}

.cicosy-form-choice input[type="checkbox"],
.cicosy-form-choice input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
  flex: 0 0 18px;
  accent-color: #1b5e20;
}

.cicosy-form-choice.choice-inline {
  display: inline-flex;
  margin-right: 18px;
  margin-bottom: 10px;
}

.cicosy-form-choice.is-disabled,
.cicosy-form-switch-row.is-disabled {
  color: var(--cicosy-form-disabled-text);
  cursor: not-allowed;
}

.cicosy-form-switch-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  color: var(--cicosy-form-text);
  font-size: 14px;
}

.cicosy-form-switch-row .switch {
  position: relative;
  display: inline-block;
  width: 42px;
  height: 22px;
  flex: 0 0 42px;
}

.cicosy-form-switch-row .switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cicosy-form-switch-row .switch-slider {
  position: absolute;
  inset: 0;
  border: 1px solid var(--cicosy-form-input-border);
  border-radius: 999px;
  background: #ffffff;
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.cicosy-form-switch-row .switch-slider::before {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  top: 3px;
  left: 4px;
  border-radius: 50%;
  background: #6c7890;
  transition: transform 160ms ease, background-color 160ms ease;
}

.cicosy-form-switch-row .switch input:checked + .switch-slider {
  border-color: #1b5e20;
  background: #1b5e20;
}

.cicosy-form-switch-row .switch input:checked + .switch-slider::before {
  transform: translateX(20px);
  background: #ffffff;
}

.cicosy-form-input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.cicosy-form-input-group > .cicosy-form-control,
.cicosy-form-input-group > .cicosy-form-select {
  flex: 1 1 auto;
  min-width: 0;
}

.cicosy-form-input-group > * + * {
  margin-left: -1px;
}

.cicosy-form-addon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 0 14px;
  border: 1px solid var(--cicosy-form-input-border);
  background: #f6f8ff;
  color: var(--cicosy-form-muted);
  font-size: 14px;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .cicosy-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .cicosy-form-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .cicosy-form-card-subtitle {
    text-align: left;
    white-space: normal;
  }

  .cicosy-form-card-body {
    padding: 16px;
  }
}

/* End form elements showcase */

/* Form layouts showcase fragment */
.form-layouts-showcase {
  --form-layout-bg: transparent;
  --form-layout-primary: #1b5e20;
  --form-layout-border: #cfe8d2;
  --form-layout-muted: #6c7890;
  --form-layout-gap: 20px;
  display: grid;
  gap: 28px;
  background: var(--form-layout-bg);
}

.form-layouts-showcase .cicosy-card-grid {
  gap: var(--form-layout-gap);
}

.form-layouts-showcase .cicosy-form-card {
  height: 100%;
}

.form-layouts-showcase .cicosy-form-card-body {
  display: flex;
  flex-direction: column;
}

.cicosy-form-layout-card-header {
  align-items: center;
}

.cicosy-form-layout-card-tools {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}

.cicosy-form-layout-copy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #111827;
  font-size: 17px;
  line-height: 1;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.cicosy-form-layout-copy-btn:hover,
.cicosy-form-layout-copy-btn:focus-visible {
  border-color: #cfe8d2;
  background: #eef8ef;
  color: #1b5e20;
  outline: none;
}

.cicosy-form-layout-copy-btn.is-copied {
  border-color: #b9edcf;
  background: #eafaf0;
  color: #198754;
}

.forms-elements-showcase .cicosy-configurable-form-example {
  gap: 0;
}

.forms-elements-showcase .cicosy-form-config-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.forms-elements-showcase .cicosy-form-config-modes span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid #cfe8d2;
  border-radius: 4px;
  background: #eef8ef;
  color: #52617a;
  font-size: 13px;
  line-height: 1.25;
}

.forms-elements-showcase .cicosy-form-config-modes strong {
  margin-left: 4px;
  color: #1b5e20;
  font-weight: 700;
}

.forms-elements-showcase .cicosy-form-config-toast {
  padding: 0;
  border: 0;
  background: transparent;
}

.forms-elements-showcase .cicosy-form-config-toast.show {
  display: block;
}

.forms-elements-showcase .cicosy-form-config-toast .cicosy-alert {
  margin: 0;
}

.cicosy-form-layout-section-title {
  margin: 0 0 14px;
  color: var(--form-layout-primary, #1b5e20);
  font-family: "Nunito", sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
}

.cicosy-form-layout-stack {
  display: grid;
  gap: 16px;
}

.cicosy-form-layout-stack .cicosy-form-field {
  margin-bottom: 0;
}

.cicosy-form-layout-field-grid {
  display: grid;
  gap: 16px 20px;
}

.cicosy-form-layout-field-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cicosy-form-layout-field-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cicosy-form-layout-field-grid--mixed-8-4 {
  grid-template-columns: minmax(0, 2fr) minmax(220px, 0.8fr);
}

.cicosy-form-layout-field-grid--mixed-phone {
  grid-template-columns: minmax(160px, 0.34fr) minmax(0, 1fr);
}

.cicosy-form-layout-field-grid--mixed-currency {
  grid-template-columns: minmax(120px, 0.22fr) minmax(0, 1fr);
}

.cicosy-form-layout-field-span--full {
  grid-column: 1 / -1;
}

.cicosy-form-layout-horizontal {
  display: grid;
  gap: 16px;
}

.cicosy-form-layout-horizontal-field {
  display: grid;
  align-items: center;
  gap: 16px;
}

.cicosy-form-layout-horizontal-field--sm {
  grid-template-columns: 170px minmax(0, 1fr);
}

.cicosy-form-layout-horizontal-field--wide {
  grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
}

.cicosy-form-layout-horizontal-field--narrow {
  grid-template-columns: minmax(100px, 0.22fr) minmax(0, 1fr);
}

.cicosy-form-layout-horizontal-label {
  margin: 0;
  color: var(--form-layout-primary, #1b5e20);
  font-size: 14px;
  font-weight: 500;
}

.cicosy-form-layout-horizontal-offset {
  display: flex;
  min-width: 0;
}

.cicosy-form-layout-horizontal-offset--sm {
  padding-left: 186px;
}

.cicosy-form-layout-muted {
  margin: 0;
  color: var(--form-layout-muted, #6c7890);
  font-size: 14px;
}

.cicosy-form-layout-spaced {
  margin-top: 8px;
}

.cicosy-form-layout-inline,
.cicosy-form-layout-search-row,
.cicosy-form-layout-filter-row,
.cicosy-form-layout-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.cicosy-form-layout-search-row,
.cicosy-form-layout-filter-row {
  gap: 12px;
}

.cicosy-form-layout-inline .cicosy-form-input-group {
  width: 244px;
}

.cicosy-form-layout-inline-control {
  width: 220px;
}

.cicosy-form-layout-search {
  display: grid;
  gap: 20px;
}

.cicosy-form-layout-search-row > .cicosy-form-control,
.cicosy-form-layout-search-row > .cicosy-form-input-group {
  flex: 1 1 260px;
}

.cicosy-form-layout-search-row--products > .cicosy-form-input-group {
  flex: 1 1 260px;
}

.cicosy-form-layout-select-sm {
  width: 118px;
  flex: 0 0 118px;
}

.cicosy-form-layout-filter {
  display: grid;
  gap: 20px;
}

.cicosy-form-layout-filter-control {
  flex: 1 1 145px;
  min-width: 128px;
}

.cicosy-form-layout-filter-row .cicosy-btn {
  min-width: 92px;
}

.cicosy-form-layout-divider {
  width: 100%;
  height: 1px;
  background: #edf2ff;
}

.cicosy-form-layout-tags {
  gap: 8px;
}

.cicosy-form-layout-clear {
  color: var(--form-layout-muted, #6c7890);
  font-size: 13px;
}

.cicosy-form-layout-textarea-sm {
  min-height: 98px;
}

.cicosy-form-layout-textarea-md {
  min-height: 100px;
}

.cicosy-form-layout-textarea-lg {
  min-height: 108px;
}

.cicosy-form-layout-sectioned {
  display: grid;
  gap: 22px;
}

.cicosy-form-layout-subtitle {
  margin: 0;
  color: var(--form-layout-muted, #6c7890);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.cicosy-form-layout-switch-list {
  display: grid;
  gap: 8px;
}

.cicosy-form-layout-sidebar-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(320px, 0.98fr);
  gap: 20px;
}

.cicosy-form-layout-sidebar-main,
.cicosy-form-layout-sidebar-aside {
  display: grid;
  align-content: start;
  gap: 20px;
}

.cicosy-form-layout-footer-actions {
  padding-top: 12px;
  border-top: 1px solid #edf2ff;
}

.cicosy-form-layout-action-spacer {
  flex: 1 1 auto;
}

.cicosy-form-layout-upload {
  display: grid;
  place-items: center;
  gap: 10px;
  min-height: 128px;
  padding: 24px;
  border: 1px solid var(--form-layout-border, #cfe8d2);
  border-radius: 4px;
  text-align: center;
}

.cicosy-form-layout-upload i {
  color: var(--form-layout-muted, #6c7890);
  font-size: 38px;
}

.cicosy-form-layout-upload p,
.cicosy-form-layout-upload span {
  margin: 0;
}

.cicosy-form-layout-file {
  max-width: 420px;
}

.cicosy-form-layout-choice-stack {
  display: grid;
  gap: 6px;
}

.cicosy-form-layout-choice-stack .cicosy-form-choice {
  margin-bottom: 0;
}

.cicosy-form-layout-choice-title {
  color: var(--form-layout-primary, #1b5e20);
  font-size: 14px;
  font-weight: 500;
}

.cicosy-form-layout-choice-help {
  margin: -4px 0 8px 28px;
  color: var(--form-layout-muted, #6c7890);
  font-size: 13px;
}

.cicosy-form-layout-rating-labels {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--form-layout-muted, #6c7890);
  font-size: 13px;
}

.cicosy-form-layout-rating {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid #6b7488;
  border-radius: 4px;
  overflow: hidden;
}

.cicosy-form-layout-rating button {
  min-height: var(--cicosy-button-height);
  border: 0;
  border-right: 1px solid #6b7488;
  background: #ffffff;
  color: #5c667a;
  font: inherit;
}

.cicosy-form-layout-rating button:last-child {
  border-right: 0;
}

.cicosy-form-layout-rating button.active {
  background: #647084;
  color: #ffffff;
}

.cicosy-form-layout-profile {
  display: grid;
  gap: 22px;
}

.cicosy-form-layout-profile-row {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}

.cicosy-form-layout-profile-label {
  padding-top: 9px;
  color: var(--form-layout-primary, #1b5e20);
  font-size: 14px;
  font-weight: 500;
}

.cicosy-form-layout-profile-control {
  min-width: 0;
}

.cicosy-form-layout-profile-control--avatar {
  display: flex;
  align-items: center;
  gap: 18px;
}

.cicosy-form-layout-profile-control--avatar img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}

.cicosy-form-layout-profile-file {
  max-width: 360px;
}

@media (max-width: 1199px) {
  .cicosy-form-layout-sidebar-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {
  .form-layouts-showcase .cicosy-card-grid--2,
  .form-layouts-showcase .cicosy-card-grid--3,
  .cicosy-form-layout-field-grid--2,
  .cicosy-form-layout-field-grid--3,
  .cicosy-form-layout-field-grid--mixed-8-4,
  .cicosy-form-layout-field-grid--mixed-phone,
  .cicosy-form-layout-field-grid--mixed-currency {
    grid-template-columns: 1fr;
  }

  .cicosy-form-layout-horizontal-field,
  .cicosy-form-layout-profile-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .cicosy-form-layout-horizontal-offset--sm {
    padding-left: 0;
  }

  .cicosy-form-layout-profile-label {
    padding-top: 0;
  }
}

@media (max-width: 575px) {
  .form-layouts-showcase {
    gap: 22px;
  }

  .cicosy-form-layout-inline,
  .cicosy-form-layout-search-row,
  .cicosy-form-layout-filter-row {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }

  .cicosy-form-layout-inline .cicosy-form-input-group,
  .cicosy-form-layout-inline-control,
  .cicosy-form-layout-search-row > .cicosy-form-control,
  .cicosy-form-layout-search-row > .cicosy-form-input-group,
  .cicosy-form-layout-select-sm,
  .cicosy-form-layout-filter-control {
    width: 100%;
    flex-basis: auto;
  }

  .cicosy-form-layout-profile-control--avatar {
    align-items: flex-start;
    flex-direction: column;
  }

  .cicosy-form-layout-card-tools {
    align-items: flex-start;
    flex-direction: row;
    width: 100%;
  }

  .cicosy-form-layout-card-tools .cicosy-form-card-subtitle {
    flex: 1 1 auto;
  }
}

/* Alerts showcase fragment */
.alerts-showcase {
      --page-bg: #f3f6ff;
      --card-bg: #ffffff;
      --primary: #1b5e20;
      --accent: #1b5e20;
      --accent-strong: #2f44e8;
      --border: #d7e2ff;
      --text: #26344d;
      --muted: #6c7890;
      --shadow: 0 4px 14px rgba(1, 41, 112, 0.06);
      --radius: 4px;
      --gap: 20px;

      --primary-bg: #ededff;
      --primary-border: #3347ff;
      --primary-text: #2639ef;

      --secondary-bg: #edf1ff;
      --secondary-border: #c6d3ff;
      --secondary-text: #344767;

      --success-bg: #dcf7e8;
      --success-border: #13a363;
      --success-text: #007a43;
      --success-solid: #22a66d;

      --danger-bg: #ffe1e7;
      --danger-border: #ff3f5f;
      --danger-text: #b4233a;
      --danger-solid: #e94763;

      --warning-bg: #fff3d7;
      --warning-border: #f2a000;
      --warning-text: #a96f00;
      --warning-solid: #f2a000;

      --info-bg: #e3f0ff;
      --info-border: #2f80ed;
      --info-text: #1455b8;
      --info-solid: #2f80ed;
    }

    .alerts-showcase, .alerts-showcase * { box-sizing: border-box; }

    .alerts-showcase {
      margin: 0;
      min-height: 100vh;
      background: var(--page-bg);
      color: var(--text);
      font-family: "Open Sans", sans-serif;
      font-size: 14px;
      line-height: 1.45;
    }

    .alerts-showcase .page {
      width: 100%;
      padding: 18px 14px 36px;
    }

    .alerts-showcase .page-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 36px;
    }

    .alerts-showcase .page-title {
      margin: 0;
      color: var(--primary);
      font-size: 24px;
      font-weight: 700;
      letter-spacing: 0;
    }

    .alerts-showcase .breadcrumb {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--muted);
      font-size: 13px;
      white-space: nowrap;
    }

    .alerts-showcase .breadcrumb a {
      color: #53627f;
      text-decoration: none;
    }

    .alerts-showcase .breadcrumb a:hover { color: var(--accent); }
    .alerts-showcase .breadcrumb span { color: #8a95a8; }
    .alerts-showcase .breadcrumb strong { color: #27344f; font-weight: 500; }

    .alerts-showcase .section {
      margin-bottom: 28px;
    }

    .alerts-showcase .section-title {
      margin: 0 0 14px;
      color: var(--primary);
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0;
    }

    .alerts-showcase .grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--gap);
    }

    .alerts-showcase .card {
      overflow: hidden;
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }

    .alerts-showcase .card.full { grid-column: 1 / -1; }

    .alerts-showcase .card-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      min-height: 52px;
      padding: 14px 20px;
      border-bottom: 1px solid var(--border);
    }

    .alerts-showcase .card-header h3 {
      margin: 0;
      color: var(--primary);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: 0;
    }

    .alerts-showcase .card-header p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      text-align: right;
    }

    .alerts-showcase .code-pill {
      display: inline-flex;
      align-items: center;
      padding: 2px 6px;
      border-radius: 4px;
      background: #fff0f2;
      color: #f1425f;
      font-family: Consolas, Monaco, monospace;
      font-size: 12px;
    }

    .alerts-showcase .card-body {
      padding: 20px;
    }

    .alerts-showcase .alert {
      position: relative;
      display: flex;
      align-items: center;
      gap: 14px;
      width: 100%;
      min-height: 52px;
      margin-bottom: 16px;
      padding: 14px 20px;
      border: 1px solid transparent;
      border-radius: var(--radius);
      font-size: 14px;
      line-height: 1.45;
    }

    .alerts-showcase .alert:last-child { margin-bottom: 0; }
    .alerts-showcase .alert strong { font-weight: 700; }
    .alerts-showcase .alert a { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

    .alerts-showcase .alert-primary { background: var(--primary-bg); border-color: var(--primary-border); color: var(--primary-text); }
    .alerts-showcase .alert-secondary { background: var(--secondary-bg); border-color: var(--secondary-border); color: var(--secondary-text); }
    .alerts-showcase .alert-success { background: var(--success-bg); border-color: var(--success-border); color: var(--success-text); }
    .alerts-showcase .alert-danger { background: var(--danger-bg); border-color: var(--danger-border); color: var(--danger-text); }
    .alerts-showcase .alert-warning { background: var(--warning-bg); border-color: var(--warning-border); color: var(--warning-text); }
    .alerts-showcase .alert-info { background: var(--info-bg); border-color: var(--info-border); color: var(--info-text); }

    .alerts-showcase .alert-outline {
      background: #ffffff;
    }

    .alerts-showcase .alert-solid {
      border-color: transparent;
      color: #ffffff;
      font-weight: 500;
    }

    .alerts-showcase .alert-solid.alert-primary { background: var(--accent); color: #ffffff; }
    .alerts-showcase .alert-solid.alert-success { background: var(--success-solid); color: #ffffff; }
    .alerts-showcase .alert-solid.alert-warning { background: var(--warning-solid); color: #111827; }
    .alerts-showcase .alert-solid.alert-danger { background: var(--danger-solid); color: #ffffff; }
    .alerts-showcase .alert-solid.alert-info { background: var(--info-solid); color: #ffffff; }

    .alerts-showcase .alert-large {
      display: block;
      min-height: 0;
      padding: 20px;
    }

    .alerts-showcase .alert-large h4 {
      margin: 0 0 8px;
      font-size: 21px;
      line-height: 1.2;
      font-weight: 700;
    }

    .alerts-showcase .alert-large p { margin: 0 0 14px; }
    .alerts-showcase .alert-large p:last-child { margin-bottom: 0; }
    .alerts-showcase .alert-separator { height: 1px; margin: 18px 0; background: rgba(255,255,255,0.26); opacity: .45; }
    .alerts-showcase .alert-danger .alert-separator { background: rgba(180,35,58,.25); }
    .alerts-showcase .alert-success .alert-separator { background: rgba(0,122,67,.18); }

    .alerts-showcase .alert-icon {
      align-items: flex-start;
      padding-left: 18px;
    }

    .alerts-showcase .icon {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 20px;
      height: 20px;
      border: 1.8px solid currentColor;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 700;
      line-height: 1;
      margin-top: 1px;
    }

    .alerts-showcase .icon-no-circle {
      border: 0;
      border-radius: 0;
      font-size: 22px;
      font-weight: 700;
      width: 24px;
      height: 24px;
    }

    .alerts-showcase .alert-close {
      position: absolute;
      top: 11px;
      right: 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 26px;
      height: 26px;
      border: 0;
      border-radius: 50%;
      background: transparent;
      color: currentColor;
      cursor: pointer;
      font-size: 13px;
      line-height: 1;
      opacity: .75;
    }

    .alerts-showcase .alert-close:hover { background: rgba(0,0,0,.06); opacity: 1; }
    .alerts-showcase .dismissible { padding-right: 46px; }

    .alerts-showcase .button-row {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 16px;
    }

    .alerts-showcase .mini-icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 14px;
      height: 14px;
      border: 1.5px solid currentColor;
      border-radius: 999px;
      font-size: 10px;
      font-weight: 700;
    }

    .alerts-showcase .list-alert h4,
.alerts-showcase .action-alert h4 {
      margin: 0 0 8px;
      font-size: 19px;
      font-weight: 700;
    }

    .alerts-showcase .list-alert ul {
      margin: 8px 0 0 20px;
      padding: 0;
    }

    .alerts-showcase .list-alert li { margin-bottom: 6px; }

    .alerts-showcase .action-alert {
      align-items: flex-start;
      min-height: 0;
      padding: 18px 20px;
    }

    .alerts-showcase .action-alert .alert-copy { flex: 1 1 auto; }
    .alerts-showcase .action-alert p { margin: 0; }

    .alerts-showcase .toast-alert {
      min-height: 52px;
      padding: 14px 20px;
    }

    .alerts-showcase .trigger-output {
      margin-top: 18px;
    }

    .cicosy-alert-scope .trigger-output {
      margin-top: 18px;
    }

    .alerts-showcase .real-world-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 20px;
      row-gap: 34px;
    }

    .alerts-showcase .use-case h4 {
      margin: 0 0 12px;
      color: #5f6f89;
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0;
    }

    .alerts-showcase .real-alert {
      align-items: flex-start;
      min-height: 0;
      padding: 18px 20px;
    }

    .alerts-showcase .real-alert h5 {
      margin: 0 0 4px;
      font-size: 15px;
      font-weight: 700;
    }

    .alerts-showcase .real-alert p { margin: 0 0 10px; }
    .alerts-showcase .real-alert p:last-child { margin-bottom: 0; }

    .alerts-showcase .code-inline {
      display: inline-flex;
      padding: 2px 5px;
      border-radius: 4px;
      background: #fff0f2;
      color: #f1425f;
      font-family: Consolas, Monaco, monospace;
      font-size: 12px;
    }

    .alerts-showcase .text-code {
      color: #f1425f;
      font-family: Consolas, Monaco, monospace;
      font-size: 12px;
      background: #fff0f2;
      padding: 2px 4px;
      border-radius: 4px;
    }

    .alerts-showcase .maintenance {
      background: var(--accent);
      border-color: transparent;
      color: #fff;
    }

    .alerts-showcase .maintenance p { color: rgba(255,255,255,.92); }

    @media (max-width: 991.98px) {
      .alerts-showcase .grid,
.alerts-showcase .real-world-grid { grid-template-columns: 1fr; }
      .alerts-showcase .page-header { align-items: flex-start; flex-direction: column; margin-bottom: 24px; }
      .alerts-showcase .breadcrumb { white-space: normal; }
    }

    @media (max-width: 575.98px) {
      .alerts-showcase .page { padding: 16px 10px 30px; }
      .alerts-showcase .card-header { align-items: flex-start; flex-direction: column; gap: 4px; }
      .alerts-showcase .card-header p { text-align: left; }
      .alerts-showcase .card-body { padding: 16px; }
      .alerts-showcase .alert { padding: 13px 14px; }
      .alerts-showcase .dismissible { padding-right: 42px; }
    }

.alerts-showcase .section-title,
.alerts-showcase .card-header h3,
.alerts-showcase .alert-large h4,
.alerts-showcase .list-alert h4,
.alerts-showcase .action-alert h4,
.alerts-showcase .real-alert h5 {
  font-family: "Nunito", sans-serif;
}

.alerts-showcase,
.alerts-showcase .card-header p,
.alerts-showcase .alert {
  font-family: "Open Sans", sans-serif;
}

.cicosy-alert,
.cicosy-alert-scope {
  --primary: #1b5e20;
  --accent: #1b5e20;
  --accent-strong: #2f44e8;
  --border: #d7e2ff;
  --text: #26344d;
  --muted: #6c7890;
  --radius: 4px;
  --primary-bg: #ededff;
  --primary-border: #3347ff;
  --primary-text: #2639ef;
  --secondary-bg: #edf1ff;
  --secondary-border: #c6d3ff;
  --secondary-text: #344767;
  --success-bg: #dcf7e8;
  --success-border: #13a363;
  --success-text: #007a43;
  --success-solid: #22a66d;
  --danger-bg: #ffe1e7;
  --danger-border: #ff3f5f;
  --danger-text: #b4233a;
  --danger-solid: #e94763;
  --warning-bg: #fff3d7;
  --warning-border: #f2a000;
  --warning-text: #a96f00;
  --warning-solid: #f2a000;
  --info-bg: #e3f0ff;
  --info-border: #2f80ed;
  --info-text: #1455b8;
  --info-solid: #2f80ed;
}

.cicosy-alert,
.cicosy-alert *,
.cicosy-alert-scope,
.cicosy-alert-scope * {
  box-sizing: border-box;
}

.cicosy-alert,
.cicosy-alert-scope .alert {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 52px;
  margin-bottom: 16px;
  padding: 14px 20px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 1.45;
}

.cicosy-alert:last-child,
.cicosy-alert-scope .alert:last-child {
  margin-bottom: 0;
}

.cicosy-alert a,
.cicosy-alert-scope .alert a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cicosy-alert.alert-primary,
.cicosy-alert-scope .alert-primary {
  background: var(--primary-bg);
  border-color: var(--primary-border);
  color: var(--primary-text);
}

.cicosy-alert.alert-secondary,
.cicosy-alert-scope .alert-secondary {
  background: var(--secondary-bg);
  border-color: var(--secondary-border);
  color: var(--secondary-text);
}

.cicosy-alert.alert-success,
.cicosy-alert-scope .alert-success {
  background: var(--success-bg);
  border-color: var(--success-border);
  color: var(--success-text);
}

.cicosy-alert.alert-danger,
.cicosy-alert-scope .alert-danger {
  background: var(--danger-bg);
  border-color: var(--danger-border);
  color: var(--danger-text);
}

.cicosy-alert.alert-warning,
.cicosy-alert-scope .alert-warning {
  background: var(--warning-bg);
  border-color: var(--warning-border);
  color: var(--warning-text);
}

.cicosy-alert.alert-info,
.cicosy-alert-scope .alert-info {
  background: var(--info-bg);
  border-color: var(--info-border);
  color: var(--info-text);
}

.cicosy-alert.alert-outline,
.cicosy-alert-scope .alert-outline {
  background: #ffffff;
}

.cicosy-alert.alert-solid,
.cicosy-alert-scope .alert-solid {
  border-color: transparent;
  color: #ffffff;
  font-weight: 500;
}

.cicosy-alert.alert-solid.alert-primary,
.cicosy-alert-scope .alert-solid.alert-primary {
  background: var(--accent);
  color: #ffffff;
}

.cicosy-alert.alert-solid.alert-success,
.cicosy-alert-scope .alert-solid.alert-success {
  background: var(--success-solid);
  color: #ffffff;
}

.cicosy-alert.alert-solid.alert-warning,
.cicosy-alert-scope .alert-solid.alert-warning {
  background: var(--warning-solid);
  color: #111827;
}

.cicosy-alert.alert-solid.alert-danger,
.cicosy-alert-scope .alert-solid.alert-danger {
  background: var(--danger-solid);
  color: #ffffff;
}

.cicosy-alert.alert-solid.alert-info,
.cicosy-alert-scope .alert-solid.alert-info {
  background: var(--info-solid);
  color: #ffffff;
}

.cicosy-alert.alert-large,
.cicosy-alert-scope .alert-large {
  display: block;
  min-height: 0;
  padding: 20px;
}

.cicosy-alert.alert-large h4,
.cicosy-alert.list-alert h4,
.cicosy-alert.action-alert h4,
.cicosy-alert.real-alert h5,
.cicosy-alert-scope .alert-large h4,
.cicosy-alert-scope .list-alert h4,
.cicosy-alert-scope .action-alert h4,
.cicosy-alert-scope .real-alert h5 {
  font-family: "Nunito", sans-serif;
}

.cicosy-alert.alert-large h4,
.cicosy-alert-scope .alert-large h4 {
  margin: 0 0 8px;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 700;
}

.cicosy-alert.alert-large p,
.cicosy-alert-scope .alert-large p {
  margin: 0 0 14px;
}

.cicosy-alert.alert-large p:last-child,
.cicosy-alert-scope .alert-large p:last-child {
  margin-bottom: 0;
}

.cicosy-alert .alert-separator,
.cicosy-alert-scope .alert-separator {
  height: 1px;
  margin: 18px 0;
  background: rgba(255, 255, 255, 0.26);
  opacity: .45;
}

.cicosy-alert.alert-danger .alert-separator,
.cicosy-alert-scope .alert-danger .alert-separator {
  background: rgba(180, 35, 58, .25);
}

.cicosy-alert.alert-success .alert-separator,
.cicosy-alert-scope .alert-success .alert-separator {
  background: rgba(0, 122, 67, .18);
}

.cicosy-alert.alert-icon,
.cicosy-alert-scope .alert-icon {
  align-items: flex-start;
  padding-left: 18px;
}

.cicosy-alert .icon,
.cicosy-alert-scope .icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 1.8px solid currentColor;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  margin-top: 1px;
}

.cicosy-alert .icon-no-circle,
.cicosy-alert-scope .icon-no-circle {
  border: 0;
  border-radius: 0;
  font-size: 22px;
  font-weight: 700;
  width: 24px;
  height: 24px;
}

.cicosy-alert .alert-close,
.cicosy-alert-scope .alert-close {
  position: absolute;
  top: 11px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: currentColor;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  opacity: .75;
}

.cicosy-alert .alert-close:hover,
.cicosy-alert-scope .alert-close:hover {
  background: rgba(0, 0, 0, .06);
  opacity: 1;
}

.cicosy-alert.dismissible,
.cicosy-alert-scope .dismissible {
  padding-right: 46px;
}

.cicosy-alert .button-row,
.cicosy-alert-scope .button-row,
.alerts-showcase .button-row--flush {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.cicosy-alert .button-row,
.cicosy-alert-scope .button-row {
  margin-top: 16px;
}

.cicosy-alert .button-row--flush,
.cicosy-alert-scope .button-row--flush,
.alerts-showcase .button-row--flush {
  margin-top: 0;
}

.cicosy-alert-action-btn,
.cicosy-alert-action-link {
  min-height: 34px;
  padding: 8px 14px;
  font-size: 13px;
}

.cicosy-alert.alert-warning .cicosy-alert-action-link,
.cicosy-alert-scope .alert-warning .cicosy-alert-action-link {
  --cicosy-btn-color: #111827;
  --cicosy-btn-hover-color: #111827;
}

.cicosy-alert.list-alert h4,
.cicosy-alert.action-alert h4,
.cicosy-alert-scope .list-alert h4,
.cicosy-alert-scope .action-alert h4 {
  margin: 0 0 8px;
  font-size: 19px;
  font-weight: 700;
}

.cicosy-alert.list-alert ul,
.cicosy-alert-scope .list-alert ul {
  margin: 8px 0 0 20px;
  padding: 0;
}

.cicosy-alert.list-alert li,
.cicosy-alert-scope .list-alert li {
  margin-bottom: 6px;
}

.cicosy-alert.action-alert,
.cicosy-alert.real-alert,
.cicosy-alert-scope .action-alert,
.cicosy-alert-scope .real-alert {
  align-items: flex-start;
  min-height: 0;
  padding: 18px 20px;
}

.cicosy-alert.action-alert .alert-copy,
.cicosy-alert-scope .action-alert .alert-copy {
  flex: 1 1 auto;
}

.cicosy-alert.action-alert p,
.cicosy-alert-scope .action-alert p {
  margin: 0;
}

.cicosy-alert.toast-alert,
.cicosy-alert-scope .toast-alert {
  min-height: 52px;
  padding: 14px 20px;
}

.cicosy-alert.real-alert h5,
.cicosy-alert-scope .real-alert h5 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
}

.cicosy-alert.real-alert p,
.cicosy-alert-scope .real-alert p {
  margin: 0 0 10px;
}

.cicosy-alert.real-alert p:last-child,
.cicosy-alert-scope .real-alert p:last-child {
  margin-bottom: 0;
}

.cicosy-alert.real-alert .cicosy-badge,
.cicosy-alert-scope .real-alert .cicosy-badge {
  flex: 0 0 auto;
  margin-right: 12px;
}

.cicosy-alert.maintenance,
.cicosy-alert-scope .maintenance {
  background: var(--accent);
  border-color: transparent;
  color: #ffffff;
}

.cicosy-alert.maintenance p,
.cicosy-alert-scope .maintenance p {
  color: rgba(255, 255, 255, .92);
}

.cicosy-alert-trigger-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.cicosy-alert-trigger-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(1, 41, 112, .12);
}

.cicosy-alert-trigger-btn--primary {
  background: #1b5e20;
  color: #ffffff;
}

.cicosy-alert-trigger-btn--secondary {
  background: #6c757d;
  color: #ffffff;
}

.cicosy-alert-trigger-btn--success {
  background: #22a66d;
  color: #ffffff;
}

.cicosy-alert-trigger-btn--warning {
  background: #f2a000;
  color: #111827;
}

.cicosy-alert-trigger-btn--danger {
  background: #e94763;
  color: #ffffff;
}

.cicosy-alert-trigger-btn--info {
  background: #0dcaf0;
  color: #1b5e20;
}

.cicosy-alert-trigger-btn .mini-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border: 1.5px solid currentColor;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}

@media (max-width: 575.98px) {
  .cicosy-alert,
  .cicosy-alert-scope .alert {
    padding: 13px 14px;
  }

  .cicosy-alert.dismissible,
  .cicosy-alert-scope .dismissible {
    padding-right: 42px;
  }
}

/* End alerts showcase fragment */

/* Badge component library */
.cicosy-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 1.125rem;
  padding: 0.1875rem 0.4375rem;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
  user-select: none;
}

.cicosy-badge--pill {
  border-radius: 50rem;
  padding-left: 0.5625rem;
  padding-right: 0.5625rem;
}

.cicosy-badge--small {
  min-height: 0.9375rem;
  padding: 0.125rem 0.3125rem;
  font-size: 0.625rem;
}

.cicosy-badge--large {
  min-height: 1.375rem;
  padding: 0.25rem 0.625rem;
  font-size: 0.8125rem;
}

.cicosy-badge--primary { background: #1b5e20; color: #ffffff; }
.cicosy-badge--secondary { background: #6b7688; color: #ffffff; }
.cicosy-badge--success { background: #16a86f; color: #ffffff; }
.cicosy-badge--danger { background: #ef4968; color: #ffffff; }
.cicosy-badge--warning { background: #f2a000; color: #101828; }
.cicosy-badge--info { background: #2f80ed; color: #ffffff; }
.cicosy-badge--light { background: #f4f7fb; color: #101828; border-color: #e3eaf7; }
.cicosy-badge--dark { background: #1f2733; color: #ffffff; }

.cicosy-badge--soft-primary { background: #eef8ef; color: #1b5e20; }
.cicosy-badge--soft-secondary { background: #eef2f7; color: #607088; }
.cicosy-badge--soft-success { background: #e9fff4; color: #13a36c; }
.cicosy-badge--soft-danger { background: #ffecef; color: #ef4968; }
.cicosy-badge--soft-warning { background: #fff3d5; color: #a86e00; }
.cicosy-badge--soft-info { background: #eef8ef; color: #2f80ed; }

.cicosy-badge--outline-primary { background: transparent; color: #1b5e20; border-color: #1b5e20; }
.cicosy-badge--outline-secondary { background: transparent; color: #6b7688; border-color: #6b7688; }
.cicosy-badge--outline-success { background: transparent; color: #16a86f; border-color: #16a86f; }
.cicosy-badge--outline-danger { background: transparent; color: #ef4968; border-color: #ef4968; }
.cicosy-badge--outline-warning { background: transparent; color: #b97800; border-color: #f2a000; }
.cicosy-badge--outline-info { background: transparent; color: #2f80ed; border-color: #2f80ed; }

.cicosy-badge-icon {
  font-size: 0.875em;
  line-height: 1;
}

.cicosy-badge--link {
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.cicosy-badge--link:hover {
  color: inherit;
  opacity: 0.86;
  transform: translateY(-1px);
}

.cicosy-badge--tag {
  border: 0;
  cursor: pointer;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.cicosy-badge--tag:hover {
  transform: translateY(-1px);
}

.cicosy-badge--tag.cicosy-badge--active,
.cicosy-badge--tag[aria-pressed="true"] {
  box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.14);
}

.cicosy-badge-status-light {
  display: inline-block;
  flex: 0 0 0.875rem;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background: #ffffff;
}

.cicosy-badge-status-light--dark {
  background: #1f2933;
}

.cicosy-badge-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.4375rem;
  font-family: "Open Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
}

.cicosy-badge-heading {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  color: #1b5e20;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.1;
}

.cicosy-badge-heading:last-child {
  margin-bottom: 0;
}

.cicosy-badge-bubble {
  position: absolute;
  top: -0.5625rem;
  right: -0.8125rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.25rem;
  padding: 0 0.4375rem;
  border-radius: 50rem;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}

.cicosy-badge-bubble--primary { background: #1b5e20; }
.cicosy-badge-bubble--secondary { background: #6b7688; }
.cicosy-badge-bubble--success { background: #16a86f; }
.cicosy-badge-bubble--danger { background: #ef4968; }
.cicosy-badge-bubble--warning { background: #f2a000; color: #101828; }
.cicosy-badge-bubble--info { background: #2f80ed; }

.cicosy-badge-bubble--dot {
  top: -0.4375rem;
  right: -0.5rem;
  width: 1rem;
  min-width: 1rem;
  height: 1rem;
  padding: 0;
}

.cicosy-badge-notification {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.875rem;
  min-height: 2.75rem;
  border: 1px solid #74829a;
  border-radius: 4px;
  background: #ffffff;
  color: #657085;
  font-family: "Open Sans", sans-serif;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.cicosy-badge-notification--primary {
  min-width: 4.8125rem;
  border-color: #1b5e20;
  background: #1b5e20;
  color: #ffffff;
  font-weight: 600;
}

.cicosy-badge-notification--secondary,
.cicosy-badge-notification--dark {
  border-color: #6b7688;
  background: #6b7688;
  color: #ffffff;
}

.cicosy-badge-notification--default {
  border-color: #74829a;
  background: #ffffff;
  color: #657085;
}

.cicosy-badge-notification:hover {
  border-color: #a7b4cc;
  background: #f3f6fb;
  color: #40516f;
  box-shadow: 0 10px 22px rgba(1, 41, 112, 0.12);
  transform: translateY(-2px);
}

.cicosy-badge-notification:hover .cicosy-badge-bubble {
  box-shadow: 0 6px 14px rgba(1, 41, 112, 0.18);
  transform: translate(2px, -2px) scale(1.04);
}

.cicosy-badge-notification--primary:hover {
  border-color: #3547dc;
  background: #3547dc;
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(27, 94, 32, 0.22);
}

.cicosy-badge-notification--secondary:hover,
.cicosy-badge-notification--dark:hover {
  border-color: #566174;
  background: #566174;
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(50, 63, 82, 0.2);
}

.cicosy-badge-notification-icon {
  font-size: 1.125rem;
  line-height: 1;
}

.cicosy-avatar-badge {
  position: relative;
  width: 3rem;
  height: 3rem;
}

.cicosy-avatar-badge-avatar {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  overflow: hidden;
  border: 2px solid #edf2ff;
  border-radius: 50%;
  color: #ffffff;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
}

.cicosy-avatar-badge-avatar--teal { background: linear-gradient(135deg, #e8d1c3 0%, #d7ecf2 45%, #00897b 100%); }
.cicosy-avatar-badge-avatar--slate { background: linear-gradient(135deg, #f3dfcd 0%, #374151 52%, #ffffff 100%); }
.cicosy-avatar-badge-avatar--pearl { background: linear-gradient(135deg, #f2d8d1 0%, #f9f5ef 50%, #d5d8df 100%); color: #223047; }
.cicosy-avatar-badge-avatar--dark { background: linear-gradient(135deg, #111827 0%, #2d3748 60%, #a0aec0 100%); }

.cicosy-avatar-badge-status {
  position: absolute;
  right: 0;
  bottom: 0.125rem;
  width: 0.625rem;
  height: 0.625rem;
  border: 2px solid #ffffff;
  border-radius: 50%;
}

.cicosy-avatar-badge-status--success { background: #16a86f; }
.cicosy-avatar-badge-status--danger { background: #ef4968; }
.cicosy-avatar-badge-status--warning { background: #f2a000; }
.cicosy-avatar-badge-status--secondary { background: #6b7688; }

.badges-showcase {
  --badges-card-bg: #ffffff;
  --badges-border: #d7e4ff;
  --badges-border-soft: #e8eefb;
  --badges-navy: #1b5e20;
  --badges-text: #17233c;
  --badges-muted: #63708a;
  --badges-shadow: 0 7px 20px rgba(1, 41, 112, 0.055);
  color: var(--badges-text);
  font-family: "Open Sans", sans-serif;
  font-size: 0.875rem;
  line-height: 1.45;
}

.badges-showcase .badges-section-title {
  margin: 1.875rem 0 1rem;
  color: var(--badges-navy);
  font-family: "Nunito", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
}

.badges-showcase .badges-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-bottom: 1.8125rem;
}

.badges-showcase .badges-card {
  overflow: hidden;
  border: 1px solid var(--badges-border);
  border-radius: 4px;
  background: var(--badges-card-bg);
  box-shadow: var(--badges-shadow);
}

.badges-showcase .badges-card--full {
  grid-column: 1 / -1;
}

.badges-showcase .badges-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.125rem;
  min-height: 3.25rem;
  padding: 1rem 1.3125rem;
  border-bottom: 1px solid var(--badges-border);
}

.badges-showcase .badges-card-title {
  margin: 0;
  color: var(--badges-navy);
  font-family: "Nunito", sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0;
}

.badges-showcase .badges-card-note {
  margin: 0;
  color: var(--badges-muted);
  font-size: 0.8125rem;
  white-space: nowrap;
}

.badges-showcase .badges-card-body {
  min-height: 4rem;
  padding: 1.5rem 1.25rem;
}

.badges-showcase .badges-group,
.badges-showcase .badges-button-group,
.badges-showcase .badges-status-group,
.badges-showcase .badges-avatar-row,
.badges-showcase .badges-notification-area {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.badges-showcase .badges-group {
  gap: 0.375rem;
}

.badges-showcase .badges-row {
  margin-bottom: 1.5rem;
}

.badges-showcase .badges-row:last-child {
  margin-bottom: 0;
}

.badges-showcase .badges-divider {
  width: 100%;
  height: 1px;
  margin: 1.5rem 0 1.25rem;
  background: var(--badges-border-soft);
}

.badges-showcase .badges-label-heading {
  margin: 0 0 1.125rem;
  color: #5f6f86;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.badges-showcase .badges-heading-stack h1 { font-size: 2.25rem; }
.badges-showcase .badges-heading-stack h2 { font-size: 1.875rem; }
.badges-showcase .badges-heading-stack h3 { font-size: 1.5625rem; }
.badges-showcase .badges-heading-stack h4 { font-size: 1.3125rem; }
.badges-showcase .badges-heading-stack h5 { font-size: 1.125rem; }
.badges-showcase .badges-heading-stack h6 { font-size: 1rem; }

.badges-showcase .badges-button-group {
  gap: 0.5625rem;
  margin-bottom: 1.5rem;
}

.badges-showcase .badges-button-group:last-child {
  margin-bottom: 0;
}

.badges-showcase .badges-button-group .cicosy-btn:hover {
  box-shadow: 0 8px 18px rgba(1, 41, 112, 0.12);
  transform: translateY(-1px);
}

.badges-showcase .badges-notification-area {
  gap: 1.5rem;
}

.badges-showcase .badges-avatar-row {
  gap: 1.75rem;
}

.badges-showcase .badges-status-group {
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.badges-showcase .badges-status-group:last-child {
  margin-bottom: 0;
}

.badges-showcase .badges-list {
  padding: 0;
}

.badges-showcase .badges-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.3125rem;
  padding: 0 1.3125rem;
  border-bottom: 1px solid var(--badges-border);
  font-size: 1rem;
}

.badges-showcase .badges-list-item:last-child {
  border-bottom: 0;
}

.badges-showcase .badges-list-label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: #18233b;
}

.badges-showcase .badges-table-wrap {
  overflow-x: auto;
}

.badges-showcase .badges-table {
  width: 100%;
  min-width: 50rem;
  border-collapse: collapse;
}

.badges-showcase .badges-table th {
  padding: 1.0625rem 0.9375rem;
  border-bottom: 1px solid var(--badges-border);
  background: #edf7ee;
  color: #53637c;
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: left;
  text-transform: uppercase;
}

.badges-showcase .badges-table td {
  padding: 1.125rem 0.9375rem;
  border-bottom: 1px solid var(--badges-border-soft);
  color: #132238;
  vertical-align: middle;
}

.badges-showcase .badges-table tr:last-child td {
  border-bottom: 0;
}

.badges-showcase .badges-sku {
  display: block;
  margin-top: 0.375rem;
  color: #52637a;
}

.badges-showcase .badges-price {
  font-weight: 500;
}

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

  .badges-showcase .badges-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.375rem;
  }

  .badges-showcase .badges-card-note {
    white-space: normal;
  }
}

@media (max-width: 575.98px) {
  .badges-showcase .badges-card-body {
    padding: 1rem;
  }

  .badges-showcase .badges-heading-stack h1 { font-size: 1.875rem; }
  .badges-showcase .badges-heading-stack h2 { font-size: 1.5625rem; }

  .badges-showcase .badges-button-group {
    align-items: flex-start;
  }
}

/* End badge component library */

/* Breadcrumb component library */
.cicosy-breadcrumb-shell {
  display: flex;
  width: 100%;
}

.cicosy-breadcrumb-shell--start { justify-content: flex-start; }
.cicosy-breadcrumb-shell--center { justify-content: center; }
.cicosy-breadcrumb-shell--end { justify-content: flex-end; }

.cicosy-breadcrumb {
  --cicosy-breadcrumb-divider: "/";
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  min-height: 1.125rem;
  margin: 0;
  padding: 0;
  color: #53627d;
  font-family: "Open Sans", sans-serif;
  font-size: var(--cicosy-text-xs);
  line-height: 1.35;
  list-style: none;
}

.cicosy-breadcrumb--divider-angle { --cicosy-breadcrumb-divider: ">"; }
.cicosy-breadcrumb--divider-pipe { --cicosy-breadcrumb-divider: "|"; }
.cicosy-breadcrumb--divider-dash { --cicosy-breadcrumb-divider: "-"; }
.cicosy-breadcrumb--divider-bullet { --cicosy-breadcrumb-divider: "•"; }
.cicosy-breadcrumb--divider-chevron { --cicosy-breadcrumb-divider: "›"; }
.cicosy-breadcrumb--divider-none { --cicosy-breadcrumb-divider: ""; }

.cicosy-breadcrumb-item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.cicosy-breadcrumb-item + .cicosy-breadcrumb-item::before {
  content: var(--cicosy-breadcrumb-divider);
  display: inline-flex;
  align-items: center;
  margin: 0 0.4375rem;
  color: #63708a;
  opacity: 0.9;
}

.cicosy-breadcrumb--divider-none .cicosy-breadcrumb-item + .cicosy-breadcrumb-item::before {
  margin: 0 0.25rem;
}

.cicosy-breadcrumb a,
.cicosy-breadcrumb-label,
.cicosy-breadcrumb-current {
  display: inline-flex;
  align-items: center;
  gap: 0.3125rem;
  min-width: 0;
}

.cicosy-breadcrumb a {
  color: #53627d;
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease;
}

.cicosy-breadcrumb a:hover {
  color: #1b5e20;
  transform: translateY(-1px);
}

.cicosy-breadcrumb-current {
  color: #09224a;
  font-weight: 600;
}

.cicosy-breadcrumb-icon {
  flex: 0 0 auto;
  color: currentColor;
  font-size: var(--cicosy-text-sm);
  line-height: 1;
}

.cicosy-breadcrumb--soft,
.cicosy-breadcrumb--blue,
.cicosy-breadcrumb--dark,
.cicosy-breadcrumb--border,
.cicosy-breadcrumb--muted,
.cicosy-breadcrumb--bottom,
.cicosy-breadcrumb--file {
  width: 100%;
  padding: 1rem;
  border-radius: 4px;
}

.cicosy-breadcrumb--soft {
  background: #f3faf4;
}

.cicosy-breadcrumb--blue {
  background: #4354f5;
  color: #ffffff;
}

.cicosy-breadcrumb--dark {
  background: #202529;
  color: #ffffff;
}

.cicosy-breadcrumb--blue a,
.cicosy-breadcrumb--blue .cicosy-breadcrumb-current,
.cicosy-breadcrumb--blue .cicosy-breadcrumb-item::before,
.cicosy-breadcrumb--dark a,
.cicosy-breadcrumb--dark .cicosy-breadcrumb-current,
.cicosy-breadcrumb--dark .cicosy-breadcrumb-item::before {
  color: #ffffff;
}

.cicosy-breadcrumb--blue a:hover,
.cicosy-breadcrumb--dark a:hover {
  color: #ffffff;
  opacity: 0.9;
}

.cicosy-breadcrumb--border {
  border: 1px solid #d7dde8;
  background: #ffffff;
}

.cicosy-breadcrumb--muted {
  border: 1px solid #d7dde8;
  border-left: 3px solid #4354f5;
  background: #f5f7ff;
}

.cicosy-breadcrumb--bottom {
  border: 1px solid #d7dde8;
  border-top-width: 2px;
  background: #ffffff;
}

.cicosy-breadcrumb--file {
  margin-bottom: 1.875rem;
  background: #f3faf4;
}

.cicosy-breadcrumb-product {
  margin-top: 1rem;
  border: 1px solid #d7dde8;
  border-radius: 4px;
  padding: 1.125rem 1rem;
  background: #ffffff;
}

.cicosy-breadcrumb-product-title {
  margin: 0 0 0.75rem;
  color: #1b5e20;
  font-family: "Nunito", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
}

.cicosy-breadcrumb-product-meta {
  margin: 0;
  color: #68758f;
  font-size: 0.875rem;
}

.cicosy-breadcrumb-file {
  width: 3.25rem;
  text-align: center;
  cursor: pointer;
  outline: none;
  transition: transform 0.18s ease;
}

.cicosy-breadcrumb-file:hover,
.cicosy-breadcrumb-file:focus-visible,
.cicosy-breadcrumb-file.is-active-click {
  transform: translateY(-3px);
}

.cicosy-breadcrumb-file-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.125rem;
  height: 2.625rem;
  margin: 0 auto 0.5rem;
  border: 3px solid currentColor;
  border-radius: 5px;
  background: #ffffff;
  color: #4354f5;
  font-size: 0.9375rem;
}

.cicosy-breadcrumb-file-icon::after {
  content: "";
  position: absolute;
  top: -3px;
  right: -3px;
  width: 0.75rem;
  height: 0.75rem;
  border-left: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  border-radius: 0 3px 0 3px;
  background: #ffffff;
}

.cicosy-breadcrumb-file-icon i {
  position: relative;
  z-index: 1;
}

.cicosy-breadcrumb-file-icon--pdf { color: #f0445e; }
.cicosy-breadcrumb-file-icon--image { color: #4354f5; }
.cicosy-breadcrumb-file-icon--zip { color: #f59f00; }

.cicosy-breadcrumb-file-name {
  color: #111827;
  font-size: 0.8125rem;
  white-space: nowrap;
}

.breadcrumbs-showcase {
  --breadcrumbs-primary: #1b5e20;
  --breadcrumbs-text: #243757;
  --breadcrumbs-muted: #64748b;
  color: var(--breadcrumbs-text);
  font-family: "Open Sans", sans-serif;
  font-size: 0.8125rem;
}

.breadcrumbs-showcase .breadcrumbs-section-title {
  margin: 1.875rem 0 1rem;
  color: var(--breadcrumbs-primary);
  font-family: "Nunito", sans-serif;
  font-size: 1.1875rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0;
}

.breadcrumbs-showcase .cicosy-card-grid {
  margin-bottom: 1.625rem;
}

.breadcrumbs-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: #cddcff;
  --cicosy-card-shell-heading: var(--breadcrumbs-primary);
  --cicosy-card-shell-muted: var(--breadcrumbs-muted);
}

.breadcrumbs-showcase .breadcrumbs-list {
  display: flex;
  flex-direction: column;
  gap: 0.4375rem;
}

.breadcrumbs-showcase .breadcrumbs-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  border-radius: 4px;
}

.breadcrumbs-showcase .breadcrumbs-stack .cicosy-breadcrumb {
  border-radius: 0;
}

.breadcrumbs-showcase .breadcrumbs-file-list {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2.125rem;
  padding-left: 1.5rem;
}

@media (max-width: 575.98px) {
  .breadcrumbs-showcase .breadcrumbs-section-title {
    font-size: 1.125rem;
  }

  .breadcrumbs-showcase .breadcrumbs-file-list {
    gap: 1.375rem;
    padding-left: 0;
  }

  .cicosy-breadcrumb {
    font-size: 0.8125rem;
  }
}

/* End breadcrumb component library */

/* Accordion additions fragment */
.accordion-additions {
  --page-bg: #f4f7ff;
        --card-bg: #ffffff;
        --navy: #1b5e20;
        --text: #243b5a;
        --muted: #5f6f8f;
        --primary: #435bff;
        --primary-soft: #eceeff;
        --border: #d6e0ff;
        --success: #00a86b;
        --success-soft: #d9f7e6;
        --success-border: #a9e8c5;
        --danger: #ff3b6b;
        --warning: #f59f00;
        --teal: #12b886;
        --shadow: 0 8px 22px rgba(1, 41, 112, 0.06);
  color: var(--text);
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  line-height: 1.45;
}

.accordion-additions,
.accordion-additions * {
  box-sizing: border-box;
}

.accordion-additions .grid {
  grid-template-columns: 1fr;
}

.accordion-additions .demo-card-header {
  align-items: flex-start;
  flex-direction: column;
  gap: 6px;
}

.accordion-additions .demo-card-subtitle {
  white-space: normal;
  text-align: left;
}

.accordion-additions .section-title,
.accordion-additions .demo-card-title,
.accordion-additions .accordion-title {
  font-family: "Nunito", sans-serif;
  letter-spacing: 0;
}

.accordion-additions .accordion-trigger {
  min-height: 48px;
}

@media (min-width: 576px) {
  .accordion-additions .demo-card-header {
    align-items: center;
    flex-direction: row;
    gap: 16px;
  }

  .accordion-additions .demo-card-subtitle {
    white-space: nowrap;
    text-align: right;
  }
}

@media (min-width: 992px) {
  .accordion-additions .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.accordion-additions .section {
      margin-bottom: 34px;
    
}

.accordion-additions .section-title {
      margin: 0 0 14px;
      font-size: 22px;
      font-weight: 700;
      color: var(--navy);
      letter-spacing: 0;
    
}

.accordion-additions .grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    
}

.accordion-additions .demo-card {
      background: var(--card-bg);
      border: 1px solid var(--border);
      border-radius: 4px;
      box-shadow: var(--shadow);
      overflow: hidden;
    
}

.accordion-additions .demo-card-header {
      min-height: 52px;
      padding: 15px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      border-bottom: 1px solid var(--border);
    
}

.accordion-additions .demo-card-title {
      margin: 0;
      font-size: 16px;
      font-weight: 700;
      color: var(--navy);
    
}

.accordion-additions .demo-card-subtitle {
      font-size: 13px;
      color: var(--muted);
      white-space: nowrap;
    
}

.accordion-additions .demo-card-body {
      padding: 20px;
    
}

.accordion-additions .accordion {
      border: 1px solid var(--border);
      border-radius: 4px;
      overflow: hidden;
      background: #fff;
    
}

.accordion-additions .accordion.flush {
      border: none;
      border-radius: 0;
    
}

.accordion-additions .accordion-item {
      border-bottom: 1px solid var(--border);
      background: #fff;
    
}

.accordion-additions .accordion-item:last-child {
      border-bottom: none;
    
}

.accordion-additions .accordion-trigger {
      width: 100%;
      min-height: 48px;
      border: none;
      background: #fff;
      padding: 14px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      cursor: pointer;
      color: var(--navy);
      font: inherit;
      text-align: left;
      transition:
        background 0.25s ease,
        color 0.25s ease,
        box-shadow 0.25s ease;
    
}

.accordion-additions .accordion-trigger:hover {
      background: #f8fcf8;
    
}

.accordion-additions .accordion-left {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      min-width: 0;
    
}

.accordion-additions .accordion-title {
      font-size: 17px;
      font-weight: 700;
      color: inherit;
    
}

.accordion-additions .accordion-icon {
      font-size: 16px;
      flex: 0 0 auto;
    
}

.accordion-additions .chevron {
      font-size: 18px;
      color: inherit;
      transition: transform 0.28s ease;
    
}

.accordion-additions .accordion-content {
      display: grid;
      grid-template-rows: 0fr;
      opacity: 0;
      transform: translateY(-4px);
      background: #fff;
      transition:
        grid-template-rows 0.34s ease,
        opacity 0.24s ease,
        transform 0.34s ease;
    
}

.accordion-additions .accordion-content-inner {
      overflow: hidden;
      padding: 0 20px;
      font-size: 15px;
      line-height: 1.65;
      color: var(--text);
      transition: padding 0.34s ease;
    
}

.accordion-additions .accordion-item.active > .accordion-content {
      grid-template-rows: 1fr;
      opacity: 1;
      transform: translateY(0);
    
}

.accordion-additions .accordion-item.active > .accordion-content > .accordion-content-inner {
      padding-top: 20px;
      padding-bottom: 20px;
    
}

.accordion-additions .accordion-item.active > .accordion-trigger {
      background: var(--primary-soft);
      color: var(--primary);
    
}

.accordion-additions .accordion-item.active > .accordion-trigger .chevron {
      transform: rotate(180deg);
    
}

.accordion-additions .success-accordion {
      border-color: var(--success-border);
    
}

.accordion-additions .success-accordion .accordion-item {
      border-color: var(--success-border);
    
}

.accordion-additions .success-accordion .accordion-item.active > .accordion-trigger {
      background: var(--success-soft);
      color: var(--success);
    
}

.accordion-additions .code-tag {
      padding: 3px 6px;
      border-radius: 4px;
      background: #ffe8ee;
      color: #ff3b6b;
      font-family: Consolas, monospace;
      font-size: 13px;
    
}

.accordion-additions .feature-list {
      list-style: none;
      margin: 0;
      padding: 0;
    
}

.accordion-additions .feature-list li {
      display: flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 14px;
      font-size: 15px;
    
}

.accordion-additions .feature-list li:last-child {
      margin-bottom: 0;
    
}

.accordion-additions .feature-list i {
      color: var(--success);
      font-size: 16px;
    
}

.accordion-additions .accordion-content-inner.table-content {
      padding-left: 0;
      padding-right: 0;
    
}

.accordion-additions .pricing-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 14px;
    
}

.accordion-additions .pricing-table thead {
      background: #edf7ee;
      color: var(--muted);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      font-size: 12px;
    
}

.accordion-additions .pricing-table th,
.accordion-additions .pricing-table td {
      padding: 11px 8px;
      text-align: left;
      border-bottom: 1px solid var(--border);
    
}

.accordion-additions .pricing-table th:first-child,
.accordion-additions .pricing-table td:first-child {
      padding-left: 0;
    
}

.accordion-additions .pricing-table th:last-child,
.accordion-additions .pricing-table td:last-child {
      padding-right: 0;
    
}

.accordion-additions .accordion-form {
      display: grid;
      gap: 16px;
    
}

.accordion-additions .form-group {
      display: grid;
      gap: 8px;
    
}

.accordion-additions .form-group label {
      font-size: 14px;
      font-weight: 700;
      color: var(--navy);
    
}

.accordion-additions .form-control {
      width: 100%;
      border: 1px solid var(--border);
      border-radius: 4px;
      padding: 10px 12px;
      font: inherit;
      font-size: 14px;
      color: var(--text);
      outline: none;
      background: #fff;
      transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
    
}

.accordion-additions .form-control:focus {
      border-color: var(--primary);
      box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.12);
    
}

.accordion-additions textarea.form-control {
      min-height: 100px;
      resize: vertical;
    
}

.accordion-additions .send-btn {
      width: fit-content;
      border: none;
      border-radius: 4px;
      background: var(--primary);
      color: #fff;
      padding: 10px 16px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
    
}

.accordion-additions .send-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 8px 18px rgba(27, 94, 32, 0.25);
      background: #344cff;
    
}

.accordion-additions .nested-wrapper .accordion {
      margin-top: 0;
    
}

.accordion-additions .faq-card {
      min-height: 560px;
    
}

.accordion-additions .faq-accordion .accordion-trigger {
      padding: 16px 20px;
      border-bottom: none;
    
}

.accordion-additions .faq-accordion .accordion-item {
      border-bottom: 1px solid var(--border);
    
}

.accordion-additions .faq-accordion .accordion-item.active > .accordion-trigger {
      background: #fff;
      color: var(--primary);
    
}

.accordion-additions .faq-accordion .accordion-item.active > .accordion-content .accordion-content-inner {
      color: var(--muted);
    
}

.accordion-additions .order-row,
.accordion-additions .summary-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 12px;
    
}

.accordion-additions .order-row:last-child,
.accordion-additions .summary-row:last-child {
      margin-bottom: 0;
    
}

.accordion-additions .divider {
      height: 1px;
      background: #edf1ff;
      margin: 20px 0;
    
}

.accordion-additions .summary-panel {
      margin-top: 16px;
      padding: 20px 16px;
      background: #f3f6ff;
      border-radius: 4px;
    
}

.accordion-additions .summary-total {
      font-size: 22px;
      font-weight: 700;
      color: #111827;
    
}

.accordion-additions .discount {
      color: var(--success);
    
}

.accordion-additions .right-muted {
      color: var(--muted);
      font-weight: 700;
      margin-left: auto;
    
}

.accordion-additions .order-summary-accordion .accordion-trigger {
      min-height: 50px;
    
}

.accordion-additions .order-summary-accordion .accordion-item.active > .accordion-trigger {
      background: var(--primary-soft);
      color: var(--primary);
    
}

.accordion-additions .shipping-options {
      display: grid;
      gap: 14px;
    
}

.accordion-additions .shipping-option {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--text);
      font-size: 15px;
      cursor: pointer;
    
}

.accordion-additions .shipping-option input {
      display: none;
    
}

.accordion-additions .custom-radio {
      width: 17px;
      height: 17px;
      border: 1px solid var(--border);
      border-radius: 50%;
      display: inline-grid;
      place-items: center;
      flex: 0 0 auto;
      transition:
        border-color 0.2s ease,
        background 0.2s ease;
    
}

.accordion-additions .shipping-option input:checked + .custom-radio {
      border-color: var(--primary);
      background: var(--primary);
    
}

.accordion-additions .shipping-option input:checked + .custom-radio::after {
      content: "";
      width: 5px;
      height: 5px;
      background: #ffffff;
      border-radius: 50%;
    
}

.accordion-additions .promo-code-box {
      display: grid;
      gap: 10px;
    
}

.accordion-additions .promo-input-group {
      display: flex;
      width: 100%;
    
}

.accordion-additions .promo-input-group input {
      flex: 1;
      min-height: 34px;
      border: 1px solid var(--border);
      border-right: none;
      border-radius: 4px 0 0 4px;
      padding: 8px 10px;
      font: inherit;
      font-size: 14px;
      color: var(--text);
      outline: none;
      background: #ffffff;
      transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
    
}

.accordion-additions .promo-input-group input:focus {
      border-color: var(--primary);
      box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.08);
    
}

.accordion-additions .promo-input-group button {
      min-width: 64px;
      border: 1px solid #6b7280;
      border-radius: 0 4px 4px 0;
      background: #ffffff;
      color: var(--muted);
      font: inherit;
      font-size: 14px;
      cursor: pointer;
      transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
    
}

.accordion-additions .promo-input-group button:hover {
      background: var(--primary);
      border-color: var(--primary);
      color: #ffffff;
    
}

.accordion-additions .promo-success {
      display: flex;
      align-items: center;
      gap: 7px;
      color: var(--success);
      font-size: 14px;
    
}

.accordion-additions .promo-success i {
      font-size: 15px;
    
}

.accordion-additions .text-blue {
      color: var(--primary);
    
}

.accordion-additions .text-teal {
      color: var(--teal);
    
}

.accordion-additions .text-warning {
      color: var(--warning);
    
}

.accordion-additions .text-danger {
      color: var(--danger);
    
}

/* Keep accordion additions mobile-first after the imported source rules. */
.accordion-additions .grid {
  grid-template-columns: 1fr;
}

.accordion-additions .demo-card-header {
  align-items: flex-start;
  flex-direction: column;
  gap: 6px;
}

.accordion-additions .demo-card-subtitle {
  white-space: normal;
  text-align: left;
}

.accordion-additions .accordion-trigger,
.accordion-additions .demo-card-body,
.accordion-additions .accordion-content-inner {
  padding-left: 16px;
  padding-right: 16px;
}

@media (min-width: 576px) {
  .accordion-additions .demo-card-header {
    align-items: center;
    flex-direction: row;
    gap: 16px;
  }

  .accordion-additions .demo-card-subtitle {
    white-space: nowrap;
    text-align: right;
  }

  .accordion-additions .accordion-trigger,
  .accordion-additions .demo-card-body,
  .accordion-additions .accordion-content-inner {
    padding-left: 20px;
    padding-right: 20px;
  }

}

@media (min-width: 992px) {
  .accordion-additions .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* End accordion additions fragment */

/* Button component fragments */
.cicosy-btn {
  --cicosy-btn-bg: transparent;
  --cicosy-btn-border: transparent;
  --cicosy-btn-color: #1b5e20;
  --cicosy-btn-hover-bg: var(--cicosy-btn-bg);
  --cicosy-btn-hover-border: var(--cicosy-btn-border);
  --cicosy-btn-hover-color: var(--cicosy-btn-color);
  min-height: var(--cicosy-button-height);
  border: 1px solid var(--cicosy-btn-border);
  border-radius: 4px;
  padding: 0 var(--cicosy-button-padding-x);
  background: var(--cicosy-btn-bg);
  color: var(--cicosy-btn-color);
  font-family: "Nunito", sans-serif;
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--cicosy-button-gap);
  cursor: pointer;
  white-space: nowrap;
  vertical-align: middle;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    opacity 0.18s ease;
}

.cicosy-btn:hover:not(:disabled),
.cicosy-btn:focus-visible:not(:disabled) {
  background: var(--cicosy-btn-hover-bg);
  border-color: var(--cicosy-btn-hover-border);
  color: var(--cicosy-btn-hover-color);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(1, 41, 112, 0.12);
}

.cicosy-btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.18);
}

.cicosy-btn:active:not(:disabled),
.cicosy-btn.active {
  transform: translateY(0);
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.12);
}

.cicosy-btn:disabled,
.cicosy-btn.disabled {
  cursor: not-allowed;
  opacity: 0.65;
  transform: none;
  box-shadow: none;
  pointer-events: none;
}

.cicosy-btn i {
  font-size: 1.05em;
  line-height: 1;
}

.cicosy-btn:hover:not(:disabled) :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]),
.cicosy-btn:focus-visible:not(:disabled) :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]),
.cicosy-btn.active :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]) {
  color: currentColor !important;
}

.cicosy-btn--primary,
.cicosy-btn--outline-primary.active {
  --cicosy-btn-bg: #1b5e20;
  --cicosy-btn-border: #1b5e20;
  --cicosy-btn-color: #ffffff;
  --cicosy-btn-hover-bg: #1b5e20;
  --cicosy-btn-hover-border: #1b5e20;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--secondary,
.cicosy-btn--outline-secondary.active {
  --cicosy-btn-bg: #5f6b85;
  --cicosy-btn-border: #5f6b85;
  --cicosy-btn-color: #ffffff;
  --cicosy-btn-hover-bg: #4f5a71;
  --cicosy-btn-hover-border: #4f5a71;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--success,
.cicosy-btn--outline-success.active {
  --cicosy-btn-bg: #22a66b;
  --cicosy-btn-border: #22a66b;
  --cicosy-btn-color: #ffffff;
  --cicosy-btn-hover-bg: #198b58;
  --cicosy-btn-hover-border: #198b58;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--danger,
.cicosy-btn--outline-danger.active {
  --cicosy-btn-bg: #e84963;
  --cicosy-btn-border: #e84963;
  --cicosy-btn-color: #ffffff;
  --cicosy-btn-hover-bg: #d6334f;
  --cicosy-btn-hover-border: #d6334f;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--warning,
.cicosy-btn--outline-warning.active {
  --cicosy-btn-bg: #f2a000;
  --cicosy-btn-border: #f2a000;
  --cicosy-btn-color: #111827;
  --cicosy-btn-hover-bg: #d88f00;
  --cicosy-btn-hover-border: #d88f00;
  --cicosy-btn-hover-color: #111827;
}

.cicosy-btn--info,
.cicosy-btn--outline-info.active {
  --cicosy-btn-bg: #2f80ed;
  --cicosy-btn-border: #2f80ed;
  --cicosy-btn-color: #ffffff;
  --cicosy-btn-hover-bg: #1e6ed6;
  --cicosy-btn-hover-border: #1e6ed6;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--light,
.cicosy-btn--outline-light.active {
  --cicosy-btn-bg: #f8fafc;
  --cicosy-btn-border: #cfe8d2;
  --cicosy-btn-color: #4d5b76;
  --cicosy-btn-hover-bg: #edf2f8;
  --cicosy-btn-hover-border: #b8dcbc;
  --cicosy-btn-hover-color: #344054;
}

.cicosy-btn--dark,
.cicosy-btn--outline-dark.active {
  --cicosy-btn-bg: #1f2733;
  --cicosy-btn-border: #1f2733;
  --cicosy-btn-color: #ffffff;
  --cicosy-btn-hover-bg: #151b24;
  --cicosy-btn-hover-border: #151b24;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--link {
  --cicosy-btn-bg: transparent;
  --cicosy-btn-border: transparent;
  --cicosy-btn-color: #1b5e20;
  --cicosy-btn-hover-bg: transparent;
  --cicosy-btn-hover-border: transparent;
  --cicosy-btn-hover-color: #1b5e20;
  padding-inline: 10px;
}

.cicosy-btn--link:hover:not(:disabled),
.cicosy-btn--link:focus-visible:not(:disabled) {
  box-shadow: none;
}

.cicosy-btn--outline-primary {
  --cicosy-btn-bg: #ffffff;
  --cicosy-btn-border: #1b5e20;
  --cicosy-btn-color: #1b5e20;
  --cicosy-btn-hover-bg: #1b5e20;
  --cicosy-btn-hover-border: #1b5e20;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--outline-secondary {
  --cicosy-btn-bg: #ffffff;
  --cicosy-btn-border: #5f6b85;
  --cicosy-btn-color: #5f6b85;
  --cicosy-btn-hover-bg: #5f6b85;
  --cicosy-btn-hover-border: #5f6b85;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--outline-success {
  --cicosy-btn-bg: #ffffff;
  --cicosy-btn-border: #22a66b;
  --cicosy-btn-color: #22a66b;
  --cicosy-btn-hover-bg: #22a66b;
  --cicosy-btn-hover-border: #22a66b;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--outline-danger {
  --cicosy-btn-bg: #ffffff;
  --cicosy-btn-border: #e84963;
  --cicosy-btn-color: #e84963;
  --cicosy-btn-hover-bg: #e84963;
  --cicosy-btn-hover-border: #e84963;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--outline-warning {
  --cicosy-btn-bg: #ffffff;
  --cicosy-btn-border: #f2a000;
  --cicosy-btn-color: #b87900;
  --cicosy-btn-hover-bg: #f2a000;
  --cicosy-btn-hover-border: #f2a000;
  --cicosy-btn-hover-color: #111827;
}

.cicosy-btn--outline-info {
  --cicosy-btn-bg: #ffffff;
  --cicosy-btn-border: #2f80ed;
  --cicosy-btn-color: #2f80ed;
  --cicosy-btn-hover-bg: #2f80ed;
  --cicosy-btn-hover-border: #2f80ed;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--outline-light {
  --cicosy-btn-bg: #ffffff;
  --cicosy-btn-border: #f1faf2;
  --cicosy-btn-color: #95a1b8;
  --cicosy-btn-hover-bg: #f8fafc;
  --cicosy-btn-hover-border: #cfe8d2;
  --cicosy-btn-hover-color: #4d5b76;
}

.cicosy-btn--outline-dark {
  --cicosy-btn-bg: #ffffff;
  --cicosy-btn-border: #1f2733;
  --cicosy-btn-color: #111827;
  --cicosy-btn-hover-bg: #1f2733;
  --cicosy-btn-hover-border: #1f2733;
  --cicosy-btn-hover-color: #ffffff;
}

.cicosy-btn--soft-primary {
  --cicosy-btn-bg: #eef8ef;
  --cicosy-btn-border: #eef8ef;
  --cicosy-btn-color: #1b5e20;
  --cicosy-btn-hover-bg: #d9f0dc;
  --cicosy-btn-hover-border: #d9f0dc;
  --cicosy-btn-hover-color: #1b5e20;
}

.cicosy-btn--soft-secondary {
  --cicosy-btn-bg: #f1f3f7;
  --cicosy-btn-border: #f1f3f7;
  --cicosy-btn-color: #5f6b85;
  --cicosy-btn-hover-bg: #e6eaf1;
  --cicosy-btn-hover-border: #e6eaf1;
}

.cicosy-btn--soft-success {
  --cicosy-btn-bg: #eaf8f1;
  --cicosy-btn-border: #eaf8f1;
  --cicosy-btn-color: #22a66b;
  --cicosy-btn-hover-bg: #daf3e8;
  --cicosy-btn-hover-border: #daf3e8;
}

.cicosy-btn--soft-danger {
  --cicosy-btn-bg: #fff0f3;
  --cicosy-btn-border: #fff0f3;
  --cicosy-btn-color: #e84963;
  --cicosy-btn-hover-bg: #ffe2e8;
  --cicosy-btn-hover-border: #ffe2e8;
}

.cicosy-btn--soft-warning {
  --cicosy-btn-bg: #fff7e6;
  --cicosy-btn-border: #fff7e6;
  --cicosy-btn-color: #af7000;
  --cicosy-btn-hover-bg: #ffefcc;
  --cicosy-btn-hover-border: #ffefcc;
}

.cicosy-btn--soft-info {
  --cicosy-btn-bg: #eef8ef;
  --cicosy-btn-border: #eef8ef;
  --cicosy-btn-color: #2f80ed;
  --cicosy-btn-hover-bg: #d9f0dc;
  --cicosy-btn-hover-border: #d9f0dc;
}

.cicosy-btn--gradient-primary {
  --cicosy-btn-bg: linear-gradient(135deg, #1b5e20, #1b5e20);
  --cicosy-btn-border: transparent;
  --cicosy-btn-color: #ffffff;
}

.cicosy-btn--gradient-success {
  --cicosy-btn-bg: linear-gradient(135deg, #22a66b, #45d695);
  --cicosy-btn-border: transparent;
  --cicosy-btn-color: #ffffff;
}

.cicosy-btn--gradient-danger {
  --cicosy-btn-bg: linear-gradient(135deg, #e84963, #ff8797);
  --cicosy-btn-border: transparent;
  --cicosy-btn-color: #ffffff;
}

.cicosy-btn--gradient-warning {
  --cicosy-btn-bg: linear-gradient(135deg, #f2a000, #ffd166);
  --cicosy-btn-border: transparent;
  --cicosy-btn-color: #111827;
}

.cicosy-btn--gradient-info {
  --cicosy-btn-bg: linear-gradient(135deg, #2f80ed, #56ccf2);
  --cicosy-btn-border: transparent;
  --cicosy-btn-color: #ffffff;
}

.cicosy-btn--pill {
  border-radius: 999px;
}

.cicosy-btn--small,
.cicosy-btn.btn-sm {
  min-height: var(--cicosy-button-height-sm);
  padding-inline: var(--cicosy-button-padding-x-sm);
  font-size: var(--cicosy-text-sm);
}

.cicosy-btn--large,
.cicosy-btn.btn-lg {
  min-height: var(--cicosy-button-height-lg);
  padding-inline: var(--cicosy-button-padding-x-lg);
  font-size: var(--cicosy-text-md);
}

.cicosy-btn--block,
.cicosy-btn-block-wrap,
.cicosy-btn-block-wrap .cicosy-btn {
  width: 100%;
}

.cicosy-btn--icon {
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  min-height: var(--cicosy-icon-button-size);
  padding: 0;
  font-size: var(--cicosy-text-md);
  flex: 0 0 auto;
}

.cicosy-btn--circle {
  border-radius: 50%;
}

.cicosy-btn--loading-primary,
.cicosy-btn--loading-secondary,
.cicosy-btn--loading-success,
.cicosy-btn--loading-danger {
  cursor: progress;
}

.cicosy-btn--loading-primary {
  --cicosy-btn-bg: #7eb5f6;
  --cicosy-btn-border: #7eb5f6;
  --cicosy-btn-color: #ffffff;
}

.cicosy-btn--loading-secondary {
  --cicosy-btn-bg: #aeb4bc;
  --cicosy-btn-border: #aeb4bc;
  --cicosy-btn-color: #ffffff;
}

.cicosy-btn--loading-success {
  --cicosy-btn-bg: #8bc5a9;
  --cicosy-btn-border: #8bc5a9;
  --cicosy-btn-color: #ffffff;
}

.cicosy-btn--loading-danger {
  --cicosy-btn-bg: #ed909e;
  --cicosy-btn-border: #ed909e;
  --cicosy-btn-color: #ffffff;
}

.cicosy-btn-spinner {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.38);
  border-top-color: #ffffff;
  display: inline-block;
  animation: cicosy-button-spin 0.75s linear infinite;
}

.cicosy-btn-spinner--blue {
  border-color: rgba(27, 94, 32, 0.28);
  border-top-color: #1b5e20;
}

@keyframes cicosy-button-spin {
  to {
    transform: rotate(360deg);
  }
}

.cicosy-btn-group {
  display: inline-flex;
  vertical-align: middle;
}

.cicosy-btn-group .cicosy-btn {
  border-radius: 0;
  margin-left: -1px;
}

.cicosy-btn-group .cicosy-btn:first-child {
  margin-left: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.cicosy-btn-group .cicosy-btn:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.cicosy-btn-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.cicosy-btn-toolbar + .cicosy-btn-toolbar {
  margin-top: 16px;
}

.cicosy-btn-toolbar .cicosy-btn {
  min-width: 55px;
  padding-inline: 16px;
}

.cicosy-btn-reset-link {
  color: #e84963;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
}

.cicosy-btn-reset-link:hover,
.cicosy-btn-reset-link:focus {
  color: #d6334f;
  text-decoration: underline;
}

.cicosy-social-login-btn {
  min-width: 250px;
  border: 0;
  background: transparent;
  color: #2f3542;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 17px;
  cursor: pointer;
}

.cicosy-social-login-btn i {
  width: 20px;
  color: #2f3542;
  font-size: 17px;
  text-align: center;
}

.cicosy-social-login-btn:hover {
  color: #1b5e20;
}

.cicosy-share-btn {
  width: var(--cicosy-icon-button-size);
  height: var(--cicosy-icon-button-size);
  border: 1px solid currentColor;
  border-radius: 50%;
  background: #ffffff;
  color: #5f6b85;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    color 0.18s ease;
}

.cicosy-share-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(1, 41, 112, 0.12);
}

.cicosy-share-btn--facebook {
  color: #1b5e20;
}

.cicosy-share-btn--x {
  color: #1d7df2;
}

.cicosy-share-btn--pinterest {
  color: #e84963;
}

.cicosy-share-btn--whatsapp {
  color: #22a66b;
}

.cicosy-share-btn--link {
  color: #5f6b85;
}

.cicosy-layout-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  min-width: 0;
}

.cicosy-layout-row__content {
  flex: 1 1 14rem;
  min-width: 0;
}

.cicosy-layout-row--fit {
  width: auto;
  flex: 0 0 auto;
}

.cicosy-layout-row--left,
.cicosy-layout-row--start {
  justify-content: flex-start;
}

.cicosy-layout-row--center {
  justify-content: center;
}

.cicosy-layout-row--right,
.cicosy-layout-row--end {
  justify-content: flex-end;
}

.cicosy-layout-row--between {
  justify-content: space-between;
}

.cicosy-layout-row--stack {
  flex-direction: column;
  align-items: stretch;
}

.cicosy-layout-row--stack > * {
  width: 100%;
}

.cicosy-action-card {
  border: 1px solid #d8deea;
  border-radius: 4px;
  padding: 16px;
  margin-bottom: 16px;
}

.cicosy-action-card:last-child {
  margin-bottom: 0;
}

.cicosy-action-card h4 {
  margin: 0 0 13px;
  color: #1b5e20;
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  font-weight: 700;
}

.cicosy-action-card p {
  margin: 0;
  color: #6b7893;
  font-size: 14px;
}

.cicosy-action-card-actions {
  margin-top: 19px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.cicosy-action-card-actions--split {
  justify-content: space-between;
}

.buttons-showcase {
  --buttons-card-border: #cfe8d2;
  --buttons-heading: #1b5e20;
  --buttons-muted: #6b7893;
}

.buttons-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}

.buttons-card {
  background: #ffffff;
  border: 1px solid var(--buttons-card-border);
  border-radius: 4px;
  box-shadow: 0 4px 14px rgba(27, 94, 32, 0.05);
  overflow: hidden;
}

.buttons-card-header {
  min-height: 51px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--buttons-card-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.buttons-card-title {
  margin: 0;
  color: var(--buttons-heading);
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 700;
}

.buttons-card-note {
  margin: 0;
  color: var(--buttons-muted);
  font-size: 13px;
  white-space: nowrap;
}

.buttons-card-body {
  padding: 20px;
}

.buttons-section-title {
  margin: 29px 0 15px;
  color: var(--buttons-heading);
  font-family: "Nunito", sans-serif;
  font-size: 20px;
  font-weight: 700;
}

.buttons-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.buttons-row + .buttons-row {
  margin-top: 8px;
}

.buttons-row--spaced {
  margin-top: 24px;
}

.buttons-muted-line {
  border: 0;
  border-top: 1px solid #eef2fa;
  margin: 20px 0;
}

.buttons-actions-right {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 22px;
}

.buttons-subheading {
  margin: 0 0 16px;
  color: var(--buttons-muted);
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.buttons-subheading:not(:first-child) {
  margin-top: 25px;
}

.buttons-card--toggle {
  min-height: 205px;
}

.buttons-social-login {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  margin: 27px 0 34px;
}

.buttons-share-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

@media (min-width: 992px) {
  .buttons-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .buttons-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .buttons-card-note {
    white-space: normal;
  }
}

@media (max-width: 575.98px) {
  .cicosy-layout-row--responsive {
    flex-wrap: wrap;
  }

  .cicosy-layout-row--responsive > .cicosy-layout-row__content,
  .cicosy-layout-row--responsive > .cicosy-layout-row--fit {
    flex-basis: 100%;
  }

  .cicosy-layout-row--responsive > .cicosy-layout-row--fit {
    width: 100%;
  }

  .buttons-card-body {
    padding: 16px;
  }

  .buttons-row {
    align-items: center;
  }

  .buttons-row > .cicosy-btn:not(.cicosy-btn--icon) {
    padding-inline: 16px;
  }

  .buttons-row > .cicosy-btn-block-wrap,
  .cicosy-layout-row--responsive > .cicosy-btn-block-wrap {
    width: 100%;
  }

  .cicosy-btn-group {
    max-width: 100%;
    overflow-x: auto;
  }

  .cicosy-btn-group .cicosy-btn {
    flex: 0 0 auto;
  }

  .cicosy-share-btn,
  .cicosy-btn--icon {
    width: 40px;
    min-width: 40px;
    flex: 0 0 40px;
  }

  .buttons-actions-right,
  .cicosy-action-card-actions,
  .cicosy-action-card-actions--split {
    flex-wrap: wrap;
    align-items: center;
  }

  .buttons-social-login {
    align-items: flex-start;
  }

  .cicosy-social-login-btn {
    min-width: auto;
  }
}
/* End button component fragments */

/* Card component fragments */
.cicosy-card-frame {
  width: 100%;
  min-width: 0;
}

.cicosy-card-frame--full {
  max-width: none;
}

.cicosy-card-frame--max-360 {
  max-width: 22.5rem;
}

.cicosy-card-frame--max-520 {
  max-width: 32.5rem;
}

.cicosy-card-frame--max-720 {
  max-width: 45rem;
}

.cicosy-card-frame--max-960 {
  max-width: 60rem;
}

.cicosy-card-frame--left {
  margin-right: auto;
  margin-left: 0;
}

.cicosy-card-frame--center {
  margin-inline: auto;
}

.cicosy-card-frame--right {
  margin-right: 0;
  margin-left: auto;
}

.cicosy-card-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.cicosy-density-compact {
  --cicosy-text-base: 0.65625rem;
  --cicosy-text-sm: 0.625rem;
  --cicosy-text-xs: 0.5625rem;
}

.cicosy-card-grid > * {
  min-width: 0;
}

.cicosy-card-grid--equal {
  align-items: stretch;
}

.cicosy-card-grid--equal > .cicosy-card-shell,
.cicosy-card-grid--equal > .cicosy-card,
.cicosy-card-grid--equal > .cicosy-bg-card {
  align-self: stretch;
  height: 100%;
}

.cicosy-card-grid--equal > .cicosy-card-shell {
  display: flex;
  flex-direction: column;
}

.cicosy-card-grid--equal > .cicosy-card:not(.cicosy-card--horizontal):not(.cicosy-card--horizontal-reverse):not(.cicosy-card--overlay) {
  display: flex;
  flex-direction: column;
}

.cicosy-card-grid--equal > .cicosy-card:not(.cicosy-card--horizontal):not(.cicosy-card--horizontal-reverse):not(.cicosy-card--overlay) > .cicosy-card-body {
  flex: 1 1 auto;
}

.cicosy-card-grid--equal > .cicosy-card:not(.cicosy-card--horizontal):not(.cicosy-card--horizontal-reverse):not(.cicosy-card--overlay) > .cicosy-card-footer {
  margin-top: auto;
}

.cicosy-card-grid--equal > .cicosy-bg-card {
  display: flex;
  flex-direction: column;
}

.cicosy-card-grid--equal > .cicosy-card-shell > .cicosy-card-shell-body {
  flex: 1 1 auto;
}

.cicosy-card-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cicosy-card-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cicosy-card-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cicosy-card-grid--middle-wide {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr) minmax(0, 1.3fr);
}

.cicosy-card-grid--split-40-60 {
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
}

.cicosy-card-grid--split-70-30 {
  grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
}

.cicosy-card-grid--split-68-32 {
  grid-template-columns: minmax(0, 17fr) minmax(0, 8fr);
}

.cicosy-card-grid--split-60-40 {
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

.cicosy-card-grid--split-30-60 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

@media (min-width: 48rem) {
  .cicosy-card-grid--right-first-desktop > :first-child {
    grid-column: 2;
    grid-row: 1;
  }

  .cicosy-card-grid--right-first-desktop > :nth-child(2) {
    grid-column: 1;
    grid-row: 1;
  }
}

.cicosy-card-grid--split-40-60 > .cicosy-table-recipe-card--trial-balance,
.cicosy-card-grid--split-30-60 > .cicosy-table-recipe-card--trial-balance {
  max-width: none;
}

.cicosy-card-grid-span-full {
  grid-column: 1 / -1;
}

.cicosy-card-shell {
  --cicosy-card-shell-border: #cfe8d2;
  --cicosy-card-shell-heading: #1b5e20;
  --cicosy-card-shell-muted: #6b7893;
  width: 100%;
  background: #ffffff;
  border: 1px solid var(--cicosy-card-shell-border);
  border-radius: 4px;
  box-shadow: 0 4px 14px rgba(27, 94, 32, 0.05);
  overflow: hidden;
}

.cicosy-card-shell-header {
  min-height: 51px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--cicosy-card-shell-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cicosy-card-shell-title {
  margin: 0;
  color: var(--cicosy-card-shell-heading);
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 700;
}

.cicosy-card-shell-note {
  margin: 0;
  color: var(--cicosy-card-shell-muted);
  font-size: 13px;
  white-space: nowrap;
}

.cicosy-card-shell-body {
  padding: 20px;
}

.cicosy-card-shell-actions {
  margin-top: 18px;
}

@media (max-width: 1199.98px) {
  .cicosy-card-grid--split-40-60,
  .cicosy-card-grid--split-70-30,
  .cicosy-card-grid--split-68-32,
  .cicosy-card-grid--split-60-40,
  .cicosy-card-grid--split-30-60 {
    grid-template-columns: minmax(0, 1fr);
  }

}

@media (max-width: 991.98px) {
  .cicosy-card-grid--middle-wide {
    grid-template-columns: minmax(0, 1fr);
  }

  .cicosy-card-grid--3,
  .cicosy-card-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cicosy-card-shell-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .cicosy-card-shell-note {
    white-space: normal;
  }
}

@media (max-width: 575.98px) {
  .cicosy-card-frame--max-360,
  .cicosy-card-frame--max-520,
  .cicosy-card-frame--max-720,
  .cicosy-card-frame--max-960 {
    max-width: 100%;
  }

  .cicosy-card-grid--2,
  .cicosy-card-grid--3,
  .cicosy-card-grid--4 {
    grid-template-columns: minmax(0, 1fr);
  }

  .cicosy-card-shell-body {
    padding: 16px;
  }
}

.cicosy-card {
  background: #ffffff;
  border: 1px solid #d9e3ff;
  border-radius: 4px;
  box-shadow: 0 8px 18px rgba(0, 47, 122, 0.06);
  overflow: hidden;
  align-self: start;
  height: auto;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.cicosy-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0, 47, 122, 0.1);
}

.cicosy-card-body {
  padding: 20px;
}

.cicosy-card-title {
  margin: 0 0 2px;
  color: #002f7a;
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}

.cicosy-card-text {
  margin: 0;
  color: #111827;
  font-size: 15px;
  line-height: 1.55;
  max-width: 95%;
}

.cicosy-card-muted {
  margin: 0;
  color: #637083;
  font-size: 14px;
  line-height: 1.5;
}

.cicosy-card-header,
.cicosy-card-footer {
  padding: 14px 20px;
  color: #002f7a;
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  background: #ffffff;
}

.cicosy-card-header {
  border-bottom: 1px solid #d9e3ff;
}

.cicosy-card-footer {
  border-top: 1px solid #d9e3ff;
  color: #637083;
  font-weight: 500;
  background: #f7f9ff;
}

.cicosy-card-btn {
  min-height: var(--cicosy-button-height);
  margin-top: 0.8rem;
  padding: 0.25rem var(--cicosy-button-padding-x);
  border: 1px solid transparent;
  border-radius: 4px;
  color: #ffffff;
  background: #1b5e20;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.cicosy-card-btn:hover,
.cicosy-card-btn:focus {
  color: #ffffff;
  background: #3141e8;
  box-shadow: 0 8px 18px rgba(27, 94, 32, 0.28);
  text-decoration: none;
  transform: translateY(-1px);
}

.cicosy-card-btn--primary {
  background: #1b5e20;
  color: #ffffff;
}

.cicosy-card-btn--outline {
  background: #ffffff;
  color: #1b5e20;
  border-color: #1b5e20;
}

.cicosy-card-btn--outline:hover,
.cicosy-card-btn--outline:focus {
  background: #1b5e20;
  color: #ffffff;
}

.cicosy-card-btn--dark-outline {
  background: #ffffff;
  color: #637083;
  border-color: #637083;
}

.cicosy-card-btn--dark-outline:hover,
.cicosy-card-btn--dark-outline:focus {
  background: #22272c;
  border-color: #22272c;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(34, 39, 44, 0.18);
}

.cicosy-card-btn--compact {
  margin-top: 0;
  min-height: var(--cicosy-button-height-sm);
  padding: 0.2rem var(--cicosy-button-padding-x-sm);
}

.cicosy-card-img {
  width: 100%;
  height: 255px;
  object-fit: cover;
  display: block;
}

.cicosy-card--image-bottom {
  display: flex;
  flex-direction: column;
}

.cicosy-card--image-bottom .cicosy-card-img {
  margin-top: auto;
}

.cicosy-card--overlay {
  min-height: 255px;
  position: relative;
  display: flex;
  align-items: flex-end;
  background: #002f7a;
}

.cicosy-card-overlay-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cicosy-card--overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 31, 87, 0.08), rgba(0, 31, 87, 0.76));
  z-index: 1;
}

.cicosy-card-overlay-content {
  position: relative;
  z-index: 2;
  padding: 22px;
  color: #ffffff;
}

.cicosy-card-overlay-content .cicosy-card-title {
  color: #ffffff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.22);
}

.cicosy-card-overlay-content p {
  margin: 0 0 12px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
}

.cicosy-card-overlay-content p:last-child {
  margin-bottom: 0;
}

.cicosy-card-style-header {
  padding: 14px 20px;
  color: #002f7a;
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.cicosy-card-style-header--primary {
  background: #1b5e20;
}

.cicosy-card-style-header--success {
  background: #20a76b;
}

.cicosy-card-style-header--danger {
  background: #e94b64;
}

.cicosy-card--border {
  border-color: currentColor;
}

.cicosy-card--border .cicosy-card-style-header {
  border-bottom: 1px solid currentColor;
  background: #ffffff;
  color: inherit;
}

.cicosy-card--border-primary {
  color: #1b5e20;
}

.cicosy-card--border-success {
  color: #20a76b;
}

.cicosy-card--border-warning {
  color: #ff9100;
}

.cicosy-bg-card {
  min-height: 110px;
  padding: 18px 20px;
  border-radius: 4px;
  box-shadow: 0 8px 18px rgba(0, 47, 122, 0.06);
}

.cicosy-bg-card h3 {
  margin: 0 0 2px;
  color: #002f7a;
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  font-weight: 700;
}

.cicosy-bg-card p {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.55;
}

.cicosy-bg-card--primary {
  background: #1677f2;
  color: #ffffff;
}

.cicosy-bg-card--secondary {
  background: #747e87;
  color: #ffffff;
}

.cicosy-bg-card--success {
  background: #1b8d58;
  color: #ffffff;
}

.cicosy-bg-card--danger {
  background: #df3448;
  color: #ffffff;
}

.cicosy-bg-card--warning {
  background: #ffc107;
  color: #000000;
}

.cicosy-bg-card--info {
  background: #20c7dc;
  color: #000000;
}

.cicosy-bg-card--light {
  border: 1px solid #d9e3ff;
  background: #ffffff;
  color: #000000;
}

.cicosy-bg-card--dark {
  background: #22272c;
  color: #ffffff;
}

.cicosy-card-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cicosy-card-list li {
  padding: 14px 20px;
  border-top: 1px solid #d9e3ff;
  color: #111827;
  font-size: 15px;
}

.cicosy-card-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.cicosy-card-list-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cicosy-card-icon--primary {
  color: #1b5e20;
}

.cicosy-card-icon--warning {
  color: #f0a000;
}

.cicosy-card-icon--muted {
  color: #637083;
}

.cicosy-card-badge {
  min-width: 26px;
  height: 18px;
  border-radius: 999px;
  padding: 0 8px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cicosy-card-badge--primary {
  background: #1b5e20;
}

.cicosy-card-badge--warning {
  background: #f4a000;
  color: #000000;
}

.cicosy-card-link {
  color: #111827;
  text-decoration: none;
  font-size: 15px;
  display: inline-flex;
}

.cicosy-card-link:hover,
.cicosy-card-link:focus {
  color: #1b5e20;
  text-decoration: none;
}

.cicosy-card-link--inline {
  padding-left: 16px;
}

.cicosy-card-link-row {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.cicosy-card--horizontal {
  height: 245px;
  display: grid;
  grid-template-columns: 245px 1fr;
}

.cicosy-card--horizontal-reverse {
  height: 255px;
  grid-template-columns: 1fr 245px;
}

.cicosy-card-horizontal-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cicosy-card--horizontal .cicosy-card-body {
  height: 100%;
  padding: 20px 40px;
}

.cicosy-profile-card {
  padding: 24px 20px 20px;
  text-align: center;
}

.cicosy-profile-avatar {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 12px;
  background: #e9eef8;
}

.cicosy-profile-name {
  margin: 0;
  color: #002f7a;
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  font-weight: 700;
}

.cicosy-profile-role {
  margin: 0 0 28px;
  color: #637083;
  font-size: 14px;
}

.cicosy-profile-stats {
  margin-bottom: 8px;
  display: flex;
  justify-content: center;
  gap: 28px;
}

.cicosy-profile-stats strong {
  display: block;
  color: #002f7a;
  font-size: 16px;
  font-weight: 700;
}

.cicosy-profile-stats span {
  color: #637083;
  font-size: 14px;
}

.cicosy-profile-actions {
  display: flex;
  justify-content: center;
  gap: 6px;
}

.cicosy-profile-actions .cicosy-card-btn {
  margin-top: 16px;
  padding: 8px 15px;
}

.cicosy-product-card {
  position: relative;
}

.cicosy-product-discount {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 4;
  border-radius: 4px;
  padding: 2px 8px;
  background: #e94b64;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
}

.cicosy-product-card .cicosy-card-img {
  height: 310px;
}

.cicosy-product-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.cicosy-product-heart {
  color: #e94b64;
  font-size: 20px;
  cursor: pointer;
}

.cicosy-product-stars {
  margin: 12px 0;
  color: #f4a000;
  font-size: 15px;
}

.cicosy-product-stars span {
  margin-left: 4px;
  color: #637083;
}

.cicosy-product-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 6px;
}

.cicosy-product-price {
  color: #002f7a;
  font-size: 18px;
  font-weight: 700;
}

.cicosy-product-old-price {
  margin-left: 6px;
  color: #637083;
  font-size: 14px;
  font-weight: 600;
  text-decoration: line-through;
}

.cicosy-revenue-top {
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cicosy-revenue-value {
  margin-bottom: 10px;
  color: #002f7a;
  font-size: 32px;
  font-weight: 700;
}

.cicosy-revenue-growth {
  border-radius: 4px;
  padding: 2px 7px;
  background: #ccefe0;
  color: #14915b;
  font-size: 12px;
  font-weight: 700;
  vertical-align: middle;
}

.cicosy-revenue-footer {
  border-top: 1px solid #d9e3ff;
  padding: 16px 20px;
  background: #f7f9ff;
}

.cicosy-revenue-label {
  margin-bottom: 10px;
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.cicosy-revenue-progress {
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: #dfe5ff;
  overflow: hidden;
}

.cicosy-revenue-progress span {
  height: 100%;
  background: #1b5e20;
  display: block;
}

.cicosy-card--text-center {
  text-align: center;
}

.cicosy-card-nav-pills {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
}

.cicosy-card-nav-pills a {
  border-radius: 4px;
  padding: 6px 12px;
  color: #1b5e20;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
}

.cicosy-card-nav-pills a.active {
  background: #1b5e20;
  color: #ffffff;
}

.cicosy-card-nav-pills a.disabled {
  color: #9aa3b2;
  pointer-events: none;
}

.cicosy-metric-content {
  display: flex;
  align-items: center;
  gap: 14px;
}

.cicosy-metric-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #1b5e20;
  background: #eef8ef;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.cicosy-metric-icon.sales-card {
  color: #1b5e20;
  background: #f6f6fe;
}

.cicosy-metric-icon.revenue-card {
  color: #2eca6a;
  background: #e0f8e9;
}

.cicosy-metric-icon.customers-card {
  color: #ff771d;
  background: #ffecdf;
}

.cicosy-metric-content strong {
  color: #002f7a;
  font-size: 24px;
  font-weight: 700;
}

.cicosy-dashboard-metric-row {
  margin-bottom: 1.5rem;
}

.cicosy-dashboard-metric-card {
  height: 100%;
}

.cicosy-dashboard-metric-card-body {
  display: grid;
  gap: 0.85rem;
  min-height: 0;
  padding: 1rem 1.05rem;
}

.cicosy-dashboard-metric-card-header,
.cicosy-dashboard-metric-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  min-width: 0;
}

.cicosy-dashboard-metric-card-label {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem;
  margin: 0;
  color: var(--cicosy-dashboard-primary);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-transform: uppercase;
  letter-spacing: var(--cicosy-letter-label);
}

.cicosy-dashboard-metric-card-meta {
  color: var(--cicosy-text-muted);
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

.cicosy-dashboard-metric-card-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.45rem;
  height: 2.45rem;
  border-radius: 999px;
  color: var(--cicosy-dashboard-primary);
  background: var(--cicosy-dashboard-primary-soft);
  font-size: 1.15rem;
}

.cicosy-dashboard-metric-card-icon.sales-card {
  color: #1b5e20;
  background: #f6f6fe;
}

.cicosy-dashboard-metric-card-icon.revenue-card {
  color: #2eca6a;
  background: #e0f8e9;
}

.cicosy-dashboard-metric-card-icon.customers-card {
  color: #ff771d;
  background: #ffecdf;
}

.cicosy-dashboard-metric-card-value {
  min-width: 0;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-xl);
  font-weight: 700;
  line-height: var(--cicosy-line-tight);
}

.cicosy-dashboard-metric-card-change {
  flex: 0 0 auto;
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-tight);
}

.cicosy-dashboard-metric-card-change--success {
  color: #198754;
}

.cicosy-dashboard-metric-card-change--danger {
  color: #dc3545;
}

.cicosy-dashboard-metric-card-change--warning {
  color: #b7791f;
}

.cicosy-dashboard-metric-card-change--muted {
  color: var(--cicosy-text-muted);
}

@media (max-width: 575.98px) {
  .cicosy-dashboard-metric-row {
    margin-bottom: 1rem;
  }

  .cicosy-dashboard-metric-card-body {
    padding: 0.9rem;
  }
}

.cards-showcase {
  --cards-gap: 20px;
}

.cards-section {
  margin-bottom: 32px;
}

.cards-section-title {
  margin: 0 0 14px;
  color: #002f7a;
  font-family: "Nunito", sans-serif;
  font-size: 21px;
  font-weight: 700;
}

.cards-grid {
  display: grid;
  gap: var(--cards-gap);
  align-items: start;
}

.cards-grid--equal-height {
  align-items: stretch;
}

.cards-grid--equal-height > .cicosy-card,
.cards-grid--equal-height > .cicosy-bg-card {
  align-self: stretch;
  height: 100%;
}

.cards-grid--equal-height > .cicosy-card:not(.cicosy-card--horizontal):not(.cicosy-card--horizontal-reverse):not(.cicosy-card--overlay) {
  display: flex;
  flex-direction: column;
}

.cards-grid--equal-height > .cicosy-card:not(.cicosy-card--horizontal):not(.cicosy-card--horizontal-reverse):not(.cicosy-card--overlay) > .cicosy-card-body {
  flex: 1 1 auto;
}

.cards-grid--equal-height > .cicosy-card:not(.cicosy-card--horizontal):not(.cicosy-card--horizontal-reverse):not(.cicosy-card--overlay) > .cicosy-card-footer {
  margin-top: auto;
}

.cards-grid--equal-height > .cicosy-bg-card {
  display: flex;
  flex-direction: column;
}

.cards-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cards-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cards-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {
  .cards-grid--3,
  .cards-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .cards-grid--2,
  .cards-grid--3,
  .cards-grid--4 {
    grid-template-columns: 1fr;
  }

  .cicosy-card--horizontal,
  .cicosy-card--horizontal-reverse {
    height: auto;
    grid-template-columns: 1fr;
  }

  .cicosy-card--horizontal-reverse .cicosy-card-horizontal-img {
    order: -1;
  }

  .cicosy-card-horizontal-img {
    height: 230px;
  }

  .cicosy-card--horizontal .cicosy-card-body {
    padding: 20px;
  }

  .cicosy-card-img,
  .cicosy-product-card .cicosy-card-img {
    height: 230px;
  }

  .cicosy-profile-stats {
    gap: 18px;
  }

  .cicosy-product-price-row,
  .cicosy-revenue-label {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .cicosy-card-btn {
    width: 100%;
  }

  .cicosy-profile-actions {
    flex-direction: column;
  }

  .cicosy-card-link--inline {
    padding-left: 0;
  }
}
/* End card component fragments */

/* Carousel component fragments */
.carousel-showcase .carousel-real-world-card .cicosy-card-shell-body {
  padding: 18px;
}

.carousel-showcase .carousel-real-slide {
  position: relative;
  min-height: 22rem;
  overflow: hidden;
  background: #102044;
}

.carousel-showcase .carousel-real-slide > img {
  height: 22rem;
  object-fit: cover;
}

.carousel-showcase .carousel-real-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(9, 25, 58, 0.88) 0%, rgba(9, 25, 58, 0.64) 46%, rgba(9, 25, 58, 0.1) 100%),
    linear-gradient(0deg, rgba(9, 25, 58, 0.42), rgba(9, 25, 58, 0.08));
  pointer-events: none;
}

.carousel-showcase .carousel-real-panel {
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 3rem;
  z-index: 2;
  max-width: 34rem;
  color: #ffffff;
}

.carousel-showcase .carousel-real-kicker {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.carousel-showcase .carousel-real-panel h3 {
  margin: 0;
  color: #ffffff;
  font-family: "Nunito", sans-serif;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.2;
}

.carousel-showcase .carousel-real-panel p {
  margin: 10px 0 0;
  max-width: 31rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.95rem;
  line-height: 1.55;
}

.carousel-showcase .carousel-real-progress {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  max-width: 24rem;
}

.carousel-showcase .carousel-real-progress span {
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.82rem;
  font-weight: 700;
}

.carousel-showcase .carousel-real-progress .cicosy-progress {
  background: rgba(255, 255, 255, 0.24);
}

.carousel-showcase .carousel-real-actions {
  margin-top: 18px;
}

.carousel-showcase .carousel-real-actions .cicosy-btn--outline-light {
  --cicosy-btn-bg: rgba(255, 255, 255, 0.08);
  --cicosy-btn-border: rgba(255, 255, 255, 0.74);
  --cicosy-btn-color: #ffffff;
  --cicosy-btn-hover-bg: #ffffff;
  --cicosy-btn-hover-border: #ffffff;
  --cicosy-btn-hover-color: #102044;
}

@media (max-width: 767.98px) {
  .carousel-showcase .carousel-real-slide {
    min-height: 26rem;
  }

  .carousel-showcase .carousel-real-slide > img {
    height: 26rem;
  }

  .carousel-showcase .carousel-real-panel {
    left: 1rem;
    right: 1rem;
    bottom: 3.25rem;
    max-width: none;
  }

  .carousel-showcase .carousel-real-panel h3 {
    font-size: 1.35rem;
  }

  .carousel-showcase .carousel-real-panel p {
    font-size: 0.9rem;
  }
}

@media (max-width: 575.98px) {
  .carousel-showcase .carousel-real-slide {
    min-height: 29rem;
  }

  .carousel-showcase .carousel-real-slide > img {
    height: 29rem;
  }
}
/* End carousel component fragments */

/* Dropdown component fragments */
.dropdowns-showcase {
  --dropdowns-card-bg: #ffffff;
  --dropdowns-primary: #1b5e20;
  --dropdowns-primary-hover: #3242e8;
  --dropdowns-primary-dark: #002f7a;
  --dropdowns-secondary: #667085;
  --dropdowns-secondary-hover: #4f5a6a;
  --dropdowns-success: #20a76b;
  --dropdowns-success-hover: #168d58;
  --dropdowns-danger: #b82f3d;
  --dropdowns-danger-hover: #9f2431;
  --dropdowns-warning: #f4a000;
  --dropdowns-text: #132033;
  --dropdowns-muted: #667085;
  --dropdowns-border: #cfe8d2;
  --dropdowns-menu-hover: #f1f4ff;
  --dropdowns-active-soft: #e8ebff;
  --dropdowns-shadow: 0 8px 20px rgba(0, 47, 122, 0.06);
  --dropdowns-menu-shadow: 0 14px 32px rgba(25, 40, 85, 0.12);
  --dropdowns-radius: 4px;
  --dropdowns-gap: 20px;
}

.dropdowns-section {
  margin-bottom: 28px;
}

.dropdowns-section-title {
  margin: 0 0 14px;
  color: var(--dropdowns-primary-dark);
  font-family: "Nunito", sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.25;
}

.dropdowns-grid {
  display: grid;
  gap: var(--dropdowns-gap);
  align-items: start;
}

.dropdowns-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dropdowns-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dropdowns-card {
  position: relative;
  background: var(--dropdowns-card-bg);
  border: 1px solid var(--dropdowns-border);
  border-radius: var(--dropdowns-radius);
  box-shadow: var(--dropdowns-shadow);
  overflow: visible;
  align-self: start;
}

.dropdowns-card-header {
  min-height: 52px;
  padding: 15px 20px;
  border-bottom: 1px solid var(--dropdowns-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.dropdowns-card-title {
  margin: 0;
  color: var(--dropdowns-primary-dark);
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.dropdowns-card-subtitle {
  margin: 0;
  color: var(--dropdowns-muted);
  font-size: 13px;
  text-align: right;
  white-space: nowrap;
}

.dropdowns-card-body {
  min-height: 80px;
  padding: 20px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
}

.dropdowns-card-body--tall {
  min-height: 155px;
}

.dropdowns-showcase .dropdowns-shell {
  overflow: visible;
  align-self: start;
}

.dropdowns-showcase .dropdowns-shell > .cicosy-card-shell-body {
  overflow: visible;
}

.dropdowns-card-content {
  min-height: 80px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
}

.dropdowns-card-content--tall {
  min-height: 155px;
}

.cicosy-dropdown {
  position: relative;
  display: inline-flex;
  vertical-align: top;
}

.cicosy-dropdown-btn {
  min-height: var(--cicosy-button-height);
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 0 var(--cicosy-button-padding-x);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
  text-decoration: none;
  user-select: none;
}

.cicosy-dropdown-btn i {
  font-size: 11px;
  line-height: 1;
}

.cicosy-dropdown-btn:hover,
.cicosy-dropdown-btn:focus-visible {
  text-decoration: none;
  transform: translateY(-1px);
}

.cicosy-dropdown-btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.16);
}

.cicosy-dropdown-btn--small {
  min-height: 34px;
  padding-inline: 17px;
  font-size: 13px;
}

.cicosy-dropdown-btn--large {
  min-height: 54px;
  padding-inline: 32px;
  font-size: 16px;
}

.cicosy-dropdown-btn--block {
  width: 100%;
}

.cicosy-dropdown-btn--primary {
  background: #1b5e20;
  color: #ffffff;
}

.cicosy-dropdown-btn--primary:hover,
.cicosy-dropdown.is-open > .cicosy-dropdown-btn--primary,
.cicosy-dropdown.is-open .cicosy-dropdown-btn--primary {
  background: #3242e8;
  color: #ffffff;
}

.cicosy-dropdown-btn--secondary {
  background: #667085;
  color: #ffffff;
}

.cicosy-dropdown-btn--secondary:hover,
.cicosy-dropdown.is-open > .cicosy-dropdown-btn--secondary,
.cicosy-dropdown.is-open .cicosy-dropdown-btn--secondary {
  background: #4f5a6a;
  color: #ffffff;
}

.cicosy-dropdown-btn--success {
  background: #20a76b;
  color: #ffffff;
}

.cicosy-dropdown-btn--success:hover,
.cicosy-dropdown.is-open > .cicosy-dropdown-btn--success,
.cicosy-dropdown.is-open .cicosy-dropdown-btn--success {
  background: #168d58;
  color: #ffffff;
}

.cicosy-dropdown-btn--danger {
  background: #b82f3d;
  color: #ffffff;
}

.cicosy-dropdown-btn--danger:hover,
.cicosy-dropdown.is-open > .cicosy-dropdown-btn--danger,
.cicosy-dropdown.is-open .cicosy-dropdown-btn--danger {
  background: #9f2431;
  color: #ffffff;
}

.cicosy-dropdown-btn--outline-primary {
  background: #ffffff;
  border-color: #1b5e20;
  color: #1b5e20;
}

.cicosy-dropdown-btn--outline-primary:hover,
.cicosy-dropdown.is-open > .cicosy-dropdown-btn--outline-primary {
  background: #1b5e20;
  color: #ffffff;
}

.cicosy-dropdown-btn--outline-secondary {
  background: #ffffff;
  border-color: #667085;
  color: #667085;
}

.cicosy-dropdown-btn--outline-secondary:hover,
.cicosy-dropdown.is-open > .cicosy-dropdown-btn--outline-secondary {
  background: #667085;
  color: #ffffff;
}

.cicosy-dropdown-btn--outline-success {
  background: #ffffff;
  border-color: #20a76b;
  color: #20a76b;
}

.cicosy-dropdown-btn--outline-success:hover,
.cicosy-dropdown.is-open > .cicosy-dropdown-btn--outline-success {
  background: #20a76b;
  color: #ffffff;
}

.cicosy-dropdown-split-group {
  display: inline-flex;
  min-height: var(--cicosy-button-height);
  border-radius: 4px;
  overflow: hidden;
}

.cicosy-dropdown-split-group .cicosy-dropdown-btn {
  border-radius: 0;
  min-height: var(--cicosy-button-height);
  margin: 0;
}

.cicosy-dropdown-split-main {
  padding-inline: 22px;
}

.cicosy-dropdown-split-toggle {
  width: 57px;
  padding: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.cicosy-dropdown-menu {
  position: absolute;
  top: calc(100% + 3px);
  left: 0;
  z-index: 1000;
  display: none;
  min-width: 180px;
  padding: 7px 0;
  background: #ffffff;
  border: 1px solid #cfe8d2;
  border-radius: 4px;
  box-shadow: 0 14px 32px rgba(25, 40, 85, 0.12);
  animation: cicosyDropdownMenuIn 0.16s ease;
}

.cicosy-dropdown.is-open > .cicosy-dropdown-menu {
  display: block;
}

@keyframes cicosyDropdownMenuIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.cicosy-dropdown--dropup .cicosy-dropdown-menu {
  top: auto;
  bottom: calc(100% + 3px);
}

.cicosy-dropdown--dropend .cicosy-dropdown-menu {
  top: 0;
  left: calc(100% + 5px);
}

.cicosy-dropdown--dropstart .cicosy-dropdown-menu {
  top: 0;
  left: auto;
  right: calc(100% + 5px);
}

.cicosy-dropdown--align-end .cicosy-dropdown-menu {
  left: auto;
  right: 0;
}

.cicosy-dropdown-menu-item {
  min-height: 38px;
  padding: 9px 14px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #344054;
  background: transparent;
  border: 0;
  width: 100%;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.cicosy-dropdown-menu-item:hover,
.cicosy-dropdown-menu-item:focus {
  background: #f1f4ff;
  color: #1b5e20;
  text-decoration: none;
}

.cicosy-dropdown-menu-item.active {
  background: #e8ebff;
  color: #1b5e20;
}

.cicosy-dropdown-menu-item.disabled {
  color: #9aa4b2;
  pointer-events: none;
}

.cicosy-dropdown-menu-item.danger {
  color: #ef4565;
}

.cicosy-dropdown-menu-icon {
  width: 16px;
  display: inline-flex;
  justify-content: center;
  color: #667085;
  font-size: 14px;
}

.cicosy-dropdown-menu-divider {
  height: 1px;
  margin: 6px 0;
  background: #cfe8d2;
}

.cicosy-dropdown-menu-header {
  padding: 9px 14px 6px;
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cicosy-dropdown-menu-header--flush {
  padding: 0 0 8px;
}

.cicosy-dropdown-form-menu {
  width: 280px;
  padding: 16px;
}

.cicosy-dropdown-filter-menu {
  width: 220px;
  padding: 16px;
}

.cicosy-dropdown-command-menu {
  width: min(21rem, calc(100vw - 3rem));
  padding: 14px;
}

.cicosy-dropdown-command-panel {
  display: grid;
  gap: 13px;
}

.cicosy-dropdown-command-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.cicosy-dropdown-command-head h3 {
  margin: 0;
  color: var(--dropdowns-primary-dark);
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}

.cicosy-dropdown-command-head p {
  margin: 4px 0 0;
  color: var(--dropdowns-muted);
  font-size: 13px;
  line-height: 1.45;
}

.cicosy-dropdown-command-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.cicosy-dropdown-command-progress {
  display: grid;
  gap: 8px;
}

.cicosy-dropdown-command-progress > span {
  color: var(--dropdowns-text);
  font-size: 13px;
  font-weight: 700;
}

.cicosy-dropdown-command-actions {
  margin-top: 2px;
}

.cicosy-dropdown-command-button {
  min-height: 36px;
  padding-inline: 14px;
}

.cicosy-dropdown-form-group {
  margin-bottom: 14px;
}

.cicosy-dropdown-form-label {
  display: block;
  margin-bottom: 8px;
  color: #002f7a;
  font-size: 14px;
  font-weight: 700;
}

.cicosy-dropdown-form-control {
  width: 100%;
  height: 34px;
  border: 1px solid #cfe8d2;
  border-radius: 4px;
  padding: 0 10px;
  color: #132033;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  outline: none;
}

.cicosy-dropdown-form-control:focus {
  border-color: #1b5e20;
  box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.12);
}

.cicosy-dropdown-check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 9px;
  color: #344054;
  font-size: 14px;
}

.cicosy-dropdown-check-row input {
  width: 18px;
  height: 18px;
  accent-color: #1b5e20;
}

.cicosy-dropdown-profile-trigger {
  min-width: 172px;
  min-height: 50px;
  padding: 0 14px;
  justify-content: flex-start;
  gap: 12px;
  background: #f7f9ff;
  border: 1px solid #cfe8d2;
  color: #132033;
}

.cicosy-dropdown-profile-trigger .bi-caret-down-fill {
  margin-left: auto;
}

.cicosy-dropdown-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  background: #dbe7ff;
  flex: 0 0 auto;
}

.cicosy-dropdown-avatar--large {
  width: 48px;
  height: 48px;
}

.cicosy-dropdown-profile-menu {
  min-width: 225px;
  padding: 0;
  overflow: hidden;
}

.cicosy-dropdown-profile-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid #cfe8d2;
}

.cicosy-dropdown-profile-name {
  margin-bottom: 3px;
  color: #344054;
  font-size: 14px;
  font-weight: 700;
}

.cicosy-dropdown-profile-email {
  color: #667085;
  font-size: 14px;
}

.cicosy-dropdown-notification-trigger {
  width: 86px;
  min-height: 48px;
  justify-content: center;
  background: #f7f9ff;
  border: 1px solid #cfe8d2;
  color: #002f7a;
  position: relative;
}

.cicosy-dropdown-notification-trigger .bi-bell {
  font-size: 21px;
}

.cicosy-dropdown-notification-badge {
  position: absolute;
  top: -10px;
  right: -8px;
  min-width: 25px;
  height: 19px;
  padding: 0 7px;
  border-radius: 999px;
  background: #ef4565;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cicosy-dropdown-notification-menu {
  width: 320px;
  padding: 0;
  overflow: hidden;
}

.cicosy-dropdown-notification-head {
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #cfe8d2;
}

.cicosy-dropdown-notification-head h3 {
  margin: 0;
  color: #002f7a;
  font-size: 18px;
  font-weight: 700;
}

.cicosy-dropdown-notification-head a,
.cicosy-dropdown-notification-footer a {
  color: #1b5e20;
  font-size: 14px;
  text-decoration: none;
}

.cicosy-dropdown-notification-item {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 12px 16px;
  color: #132033;
  text-decoration: none;
}

.cicosy-dropdown-notification-item:hover {
  background: #f4f7ff;
  color: #132033;
  text-decoration: none;
}

.cicosy-dropdown-notification-item.highlight {
  background: #f1f4ff;
}

.cicosy-dropdown-notification-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #dbeafe;
  color: #5263ff;
  flex: 0 0 auto;
}

.cicosy-dropdown-notification-icon.success {
  background: #d8eee6;
  color: #168d58;
}

.cicosy-dropdown-notification-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex: 0 0 auto;
}

.cicosy-dropdown-notification-text,
.cicosy-dropdown-notification-time {
  display: block;
}

.cicosy-dropdown-notification-text {
  color: #344054;
  font-size: 14px;
  font-weight: 700;
}

.cicosy-dropdown-notification-time {
  margin-top: 2px;
  color: #667085;
  font-size: 14px;
}

.cicosy-dropdown-notification-footer {
  border-top: 1px solid #cfe8d2;
  padding: 12px 16px;
  text-align: center;
}

.dropdowns-table-wrap {
  width: 100%;
  overflow: visible;
}

.dropdowns-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.dropdowns-table th {
  background: #edf7ee;
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: left;
  text-transform: uppercase;
  padding: 10px 12px;
}

.dropdowns-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #e2e8f8;
  color: #344054;
}

.dropdowns-table-actions-cell {
  position: relative;
  width: 50px;
  overflow: visible;
  text-align: right;
}

.dropdowns-table-actions-cell .cicosy-dropdown.is-open {
  z-index: 1100;
}

.cicosy-dropdown-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.cicosy-dropdown-status--active {
  background: #20a76b;
  color: #ffffff;
}

.cicosy-dropdown-status--pending {
  background: #f4a000;
  color: #111827;
}

.cicosy-dropdown-icon-btn {
  width: 30px;
  height: 30px;
  padding: 0;
  background: transparent;
  color: #1b5e20;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cicosy-dropdown-icon-btn:hover,
.cicosy-dropdown-icon-btn:focus-visible {
  background: #edf7ee;
  outline: 0;
}

.cicosy-dropdown-table-actions-menu {
  z-index: 1100;
  min-width: 160px;
}

@media (max-width: 1100px) {
  .dropdowns-grid--2,
  .dropdowns-grid--3 {
    grid-template-columns: 1fr;
  }

  .dropdowns-card-subtitle {
    white-space: normal;
  }
}

@media (max-width: 768px) {
  .dropdowns-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .dropdowns-card-title,
  .dropdowns-card-subtitle {
    white-space: normal;
    text-align: left;
  }

  .dropdowns-card-body {
    padding: 18px;
  }

  .cicosy-dropdown-menu {
    max-width: calc(100vw - 32px);
  }

  .cicosy-dropdown--dropstart .cicosy-dropdown-menu,
  .cicosy-dropdown--dropend .cicosy-dropdown-menu {
    top: calc(100% + 3px);
    left: 0;
    right: auto;
  }

  .cicosy-dropdown-notification-menu {
    width: 300px;
  }
}
/* End dropdown component fragments */

/* List group component fragments */
.list-groups-showcase {
  --list-groups-heading: #1b5e20;
  --list-groups-text: #1f2937;
  --list-groups-muted: #64748b;
  --list-groups-border: #cfe8d2;
  --list-groups-primary: #4354f4;
  --list-groups-primary-dark: #3141d8;
  --list-groups-blue-soft: #d9f0dc;
  --list-groups-secondary-soft: #e2e3e5;
  --list-groups-success-soft: #d1e7dd;
  --list-groups-danger-soft: #f8d7da;
  --list-groups-warning-soft: #fff3cd;
  --list-groups-info-soft: #cff4fc;
  --list-groups-light-soft: #f8f9fa;
  --list-groups-dark-soft: #ced4da;
  --list-groups-success: #20a86b;
  --list-groups-warning: #f0ad00;
  --list-groups-danger: #ef476f;
  --list-groups-dark: #6c757d;
  --list-groups-shadow: 0 8px 22px rgba(1, 41, 112, 0.05);
  --list-groups-radius: 4px;
}

.list-groups-section {
  margin-bottom: 22px;
}

.list-groups-section-title {
  margin: 0 0 14px;
  color: var(--list-groups-heading);
  font-family: "Nunito", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.list-groups-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
}

.list-groups-showcase .list-groups-shell {
  --cicosy-card-shell-border: var(--list-groups-border);
  --cicosy-card-shell-heading: var(--list-groups-heading);
  --cicosy-card-shell-muted: var(--list-groups-muted);
  box-shadow: var(--list-groups-shadow);
}

.list-groups-card-content {
  min-width: 0;
}

.list-groups-card--full {
  grid-column: 1 / -1;
}

.list-groups-horizontal-block {
  margin-bottom: 24px;
}

.list-groups-horizontal-block:last-child {
  margin-bottom: 0;
}

.list-groups-horizontal-label {
  margin: 0 0 12px;
  color: #52648a;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.cicosy-list-group {
  border: 1px solid var(--list-groups-border, #cfe8d2);
  border-radius: var(--list-groups-radius, 4px);
  overflow: hidden;
  background: #ffffff;
  padding: 0;
  margin: 0;
  list-style: none;
}

.cicosy-list-group.list-group-flush,
.cicosy-list-group.cicosy-list-group--flush {
  border: 0;
  border-radius: 0;
}

.cicosy-list-group.list-group-flush .cicosy-list-item,
.cicosy-list-group.cicosy-list-group--flush .cicosy-list-item {
  padding-left: 0;
  padding-right: 0;
}

.cicosy-list-group--numbered,
.cicosy-list-group.list-group-numbered {
  counter-reset: cicosy-list-counter;
}

.cicosy-list-group--numbered .cicosy-list-item,
.cicosy-list-group.list-group-numbered .cicosy-list-item {
  justify-content: flex-start;
}

.cicosy-list-group--numbered .cicosy-list-item::before,
.cicosy-list-group.list-group-numbered .cicosy-list-item::before {
  counter-increment: cicosy-list-counter;
  content: counter(cicosy-list-counter) ". ";
  color: currentColor;
  font-weight: 700;
}

.cicosy-list-group--horizontal {
  display: inline-flex;
  max-width: 100%;
}

.cicosy-list-group--horizontal .cicosy-list-item {
  border-bottom: 0;
  border-right: 1px solid var(--list-groups-border, #cfe8d2);
  min-height: 53px;
  white-space: nowrap;
}

.cicosy-list-group--horizontal .cicosy-list-item:last-child {
  border-right: 0;
}

.cicosy-list-item {
  min-height: 53px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--list-groups-border, #cfe8d2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--list-groups-text, #1f2937);
  background: #ffffff;
  font-size: 15px;
  line-height: 1.45;
  text-decoration: none;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    filter 0.2s ease,
    transform 0.2s ease;
}

.cicosy-list-item:last-child {
  border-bottom: 0;
}

.cicosy-list-item--content {
  display: block;
  align-items: stretch;
  justify-content: initial;
}

.cicosy-list-item.active {
  background: var(--list-groups-primary, #4354f4);
  color: #ffffff;
}

.cicosy-list-item.disabled,
.cicosy-list-item:disabled {
  color: #6b7280;
  pointer-events: none;
  background: #ffffff;
}

a.cicosy-list-item,
button.cicosy-list-item {
  cursor: pointer;
}

button.cicosy-list-item {
  width: 100%;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  font-family: "Nunito", sans-serif;
  text-align: left;
}

.cicosy-list-item--action:hover,
.cicosy-list-button:hover {
  background: #f3f6ff;
  color: var(--list-groups-primary, #4354f4);
  text-decoration: none;
}

.cicosy-list-item--action.active:hover,
.cicosy-list-button.active:hover {
  background: var(--list-groups-primary-dark, #3141d8);
  color: #ffffff;
}

.cicosy-list-item--primary,
.cicosy-list-item.color-primary,
.cicosy-list-item.list-group-item-primary {
  background: var(--list-groups-blue-soft, #d9f0dc);
  color: #084298;
}

.cicosy-list-item--secondary,
.cicosy-list-item.color-secondary,
.cicosy-list-item.list-group-item-secondary {
  background: var(--list-groups-secondary-soft, #e2e3e5);
  color: #41464b;
}

.cicosy-list-item--success,
.cicosy-list-item.color-success,
.cicosy-list-item.list-group-item-success {
  background: var(--list-groups-success-soft, #d1e7dd);
  color: #0f5132;
}

.cicosy-list-item--danger,
.cicosy-list-item.color-danger,
.cicosy-list-item.list-group-item-danger {
  background: var(--list-groups-danger-soft, #f8d7da);
  color: #842029;
}

.cicosy-list-item--warning,
.cicosy-list-item.color-warning,
.cicosy-list-item.list-group-item-warning {
  background: var(--list-groups-warning-soft, #fff3cd);
  color: #664d03;
}

.cicosy-list-item--info,
.cicosy-list-item.color-info,
.cicosy-list-item.list-group-item-info {
  background: var(--list-groups-info-soft, #cff4fc);
  color: #055160;
}

.cicosy-list-item--light,
.cicosy-list-item.color-light,
.cicosy-list-item.list-group-item-light {
  background: var(--list-groups-light-soft, #f8f9fa);
  color: #475569;
}

.cicosy-list-item--dark,
.cicosy-list-item.color-dark,
.cicosy-list-item.list-group-item-dark {
  background: var(--list-groups-dark-soft, #ced4da);
  color: #1f2937;
}

.cicosy-list-item--colored-action:hover {
  filter: brightness(0.96);
}

.cicosy-list-badge {
  min-width: 24px;
  height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.cicosy-list-badge--primary {
  background: var(--list-groups-primary, #4354f4);
}

.cicosy-list-badge--secondary {
  background: var(--list-groups-dark, #6c757d);
}

.cicosy-list-badge--success {
  background: var(--list-groups-success, #20a86b);
}

.cicosy-list-badge--danger {
  background: var(--list-groups-danger, #ef476f);
}

.cicosy-list-badge--warning {
  background: var(--list-groups-warning, #f0ad00);
  color: #111827;
}

.cicosy-list-badge--square {
  min-width: auto;
  border-radius: 4px;
}

.cicosy-list-icon-content {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.cicosy-list-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex: 0 0 auto;
}

.cicosy-list-icon--blue {
  color: var(--list-groups-primary, #4354f4);
}

.cicosy-list-icon--green {
  color: var(--list-groups-success, #20a86b);
}

.cicosy-list-icon--red {
  color: var(--list-groups-danger, #ef476f);
}

.cicosy-list-icon--gray {
  color: #64748b;
}

.cicosy-list-icon-content--danger {
  color: var(--list-groups-danger, #ef476f);
}

.cicosy-list-item--rich {
  display: block;
  min-height: auto;
  padding: 16px 20px;
}

.cicosy-list-rich-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}

.cicosy-list-rich-heading {
  margin: 0;
  color: var(--list-groups-heading, #1b5e20);
  font-family: "Nunito", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.cicosy-list-rich-time {
  color: var(--list-groups-muted, #64748b);
  font-size: 14px;
  white-space: nowrap;
}

.cicosy-list-rich-text {
  margin: 0 0 8px;
  font-size: 15px;
}

.cicosy-list-rich-muted {
  margin: 0;
  color: var(--list-groups-muted, #64748b);
  font-size: 14px;
}

.cicosy-list-item--rich.active .cicosy-list-rich-heading,
.cicosy-list-item--rich.active .cicosy-list-rich-text,
.cicosy-list-item--rich.active .cicosy-list-rich-muted,
.cicosy-list-item--rich.active .cicosy-list-rich-time {
  color: #ffffff;
}

.cicosy-list-item--custom {
  align-items: flex-start;
}

.cicosy-list-custom-title {
  color: var(--list-groups-heading, #1b5e20);
  font-weight: 700;
}

.cicosy-list-item--checkbox {
  justify-content: flex-start;
  cursor: pointer;
}

.cicosy-list-item--checkbox input {
  width: 18px;
  height: 18px;
  accent-color: var(--list-groups-primary, #4354f4);
  cursor: pointer;
  flex: 0 0 auto;
}

.cicosy-list-team-row {
  min-height: 73px;
}

.cicosy-list-team-left {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.cicosy-list-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  flex: 0 0 auto;
}

.cicosy-list-avatar--one {
  background: linear-gradient(135deg, #51c2b9, #0f766e);
}

.cicosy-list-avatar--two {
  background: linear-gradient(135deg, #94a3b8, #334155);
}

.cicosy-list-avatar--three {
  background: linear-gradient(135deg, #f9a8d4, #be185d);
}

.cicosy-list-avatar--four {
  background: linear-gradient(135deg, #93c5fd, #1e40af);
}

.cicosy-list-avatar--five {
  background: linear-gradient(135deg, #fbcfe8, #9d174d);
}

.cicosy-list-person-name {
  margin: 0;
  color: var(--list-groups-heading, #1b5e20);
  font-family: "Nunito", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}

.cicosy-list-person-role {
  margin: 2px 0 0;
  color: var(--list-groups-muted, #64748b);
  font-size: 14px;
}

.cicosy-list-activity-row {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 16px;
  min-height: 105px;
}

.cicosy-list-activity-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex: 0 0 auto;
  margin-top: 2px;
}

.cicosy-list-activity-icon--blue {
  background: #d9f0dc;
  color: var(--list-groups-primary, #4354f4);
}

.cicosy-list-activity-icon--green {
  background: #d1e7dd;
  color: #198754;
}

.cicosy-list-activity-icon--yellow {
  background: #fff3cd;
  color: #f0ad00;
}

.cicosy-list-activity-icon--cyan {
  background: #cff4fc;
  color: #1b5e20;
}

.cicosy-list-activity-title {
  margin: 0 0 4px;
  color: #111827;
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  font-weight: 700;
}

.cicosy-list-activity-desc,
.cicosy-list-activity-time {
  margin: 0;
  color: var(--list-groups-muted, #64748b);
  font-size: 14px;
}

.cicosy-list-activity-desc {
  margin-bottom: 4px;
}

.cicosy-list-workflow {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.cicosy-list-workflow-main {
  min-width: 0;
  flex: 1 1 auto;
}

.cicosy-list-workflow-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 6px;
}

.cicosy-list-workflow-title {
  margin: 0;
  color: var(--list-groups-heading, #1b5e20);
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.cicosy-list-workflow-text {
  margin: 0 0 10px;
  color: var(--list-groups-muted, #64748b);
  font-size: 14px;
  line-height: 1.45;
}

.cicosy-list-workflow-progress {
  width: 100%;
  max-width: 360px;
  display: grid;
  gap: 7px;
}

.cicosy-list-workflow-progress span {
  color: #52648a;
  font-size: 13px;
  font-weight: 700;
}

.cicosy-list-workflow-actions {
  width: auto;
  flex: 0 0 auto;
}

.cicosy-list-workflow-button {
  white-space: nowrap;
}

@media (min-width: 576px) {
  .cicosy-list-group--horizontal-sm {
    display: inline-flex;
  }
}

@media (min-width: 768px) {
  .cicosy-list-group--horizontal-md {
    display: inline-flex;
  }
}

@media (min-width: 992px) {
  .cicosy-list-group--horizontal-lg {
    display: inline-flex;
  }
}

@media (max-width: 992px) {
  .list-groups-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .list-groups-section-title {
    font-size: 19px;
  }

  .cicosy-list-item {
    padding: 14px 16px;
  }

  .cicosy-list-group--horizontal {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .cicosy-list-group--horizontal .cicosy-list-item {
    border-right: 0;
    border-bottom: 1px solid var(--list-groups-border, #cfe8d2);
    white-space: normal;
  }

  .cicosy-list-group--horizontal .cicosy-list-item:last-child {
    border-bottom: 0;
  }

  .cicosy-list-group--horizontal-always {
    flex-direction: row;
    width: auto;
    overflow-x: auto;
  }

  .cicosy-list-group--horizontal-always .cicosy-list-item {
    border-bottom: 0;
    border-right: 1px solid var(--list-groups-border, #cfe8d2);
    white-space: nowrap;
  }

  .cicosy-list-group--horizontal-always .cicosy-list-item:last-child {
    border-right: 0;
  }

  .cicosy-list-rich-heading {
    font-size: 17px;
  }

  .cicosy-list-team-row,
  .cicosy-list-activity-row {
    align-items: flex-start;
  }

  .cicosy-list-workflow {
    align-items: flex-start;
    flex-direction: column;
  }

  .cicosy-list-workflow-progress {
    max-width: none;
  }

  .cicosy-list-workflow-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .cicosy-list-item {
    gap: 10px;
    font-size: 14px;
  }

  .cicosy-list-team-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .cicosy-list-team-left {
    width: 100%;
  }

  .cicosy-list-badge {
    align-self: flex-start;
  }

  .cicosy-list-rich-top {
    flex-direction: column;
    gap: 2px;
  }
}

@media (min-width: 576px) {
  .cicosy-list-group--horizontal-sm {
    display: inline-flex;
    flex-direction: row;
    width: auto;
  }

  .cicosy-list-group--horizontal-sm .cicosy-list-item {
    border-right: 1px solid var(--list-groups-border, #cfe8d2);
    border-bottom: 0;
    white-space: nowrap;
  }

  .cicosy-list-group--horizontal-sm .cicosy-list-item:last-child {
    border-right: 0;
  }
}

@media (min-width: 768px) {
  .cicosy-list-group--horizontal-md {
    display: inline-flex;
    flex-direction: row;
    width: auto;
  }

  .cicosy-list-group--horizontal-md .cicosy-list-item {
    border-right: 1px solid var(--list-groups-border, #cfe8d2);
    border-bottom: 0;
    white-space: nowrap;
  }

  .cicosy-list-group--horizontal-md .cicosy-list-item:last-child {
    border-right: 0;
  }
}

@media (min-width: 992px) {
  .cicosy-list-group--horizontal-lg {
    display: inline-flex;
    flex-direction: row;
    width: auto;
  }

  .cicosy-list-group--horizontal-lg .cicosy-list-item {
    border-right: 1px solid var(--list-groups-border, #cfe8d2);
    border-bottom: 0;
    white-space: nowrap;
  }

  .cicosy-list-group--horizontal-lg .cicosy-list-item:last-child {
    border-right: 0;
  }
}
/* End list group component fragments */

/* Modal component fragments */
.modals-showcase,
.cicosy-modal {
  --modals-primary: #4355f5;
  --modals-primary-dark: #3141d8;
  --modals-navy: #1b5e20;
  --modals-text: #344054;
  --modals-muted: #667085;
  --modals-border: #d9e2f5;
  --modals-danger: #e94b68;
  --modals-danger-dark: #d83e5b;
  --modals-danger-soft: #ffd9df;
  --modals-success: #19a66a;
  --modals-success-dark: #128c58;
  --modals-success-soft: #d6f1e6;
  --modals-warning: #f2a900;
  --modals-dark-blue: #073572;
  --modals-radius: 6px;
  --modals-shadow: 0 20px 55px rgba(1, 41, 112, 0.18);
}

.modals-showcase {
  color: var(--modals-text);
}

.modals-section {
  margin-bottom: 28px;
}

.modals-section-title {
  margin: 34px 0 14px;
  color: var(--modals-navy);
  font-family: "Nunito", sans-serif;
  font-size: 22px;
  font-weight: 700;
}

.modals-showcase .cicosy-card-grid {
  gap: 22px;
  margin-bottom: 26px;
}

.modals-showcase .modals-shell {
  --cicosy-card-shell-border: var(--modals-border);
  --cicosy-card-shell-heading: var(--modals-navy);
  --cicosy-card-shell-muted: var(--modals-muted);
}

.modals-card-content {
  min-width: 0;
}

.modals-button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.modals-showcase .btn,
.cicosy-modal .btn {
  min-height: 42px;
  padding: 0 23px;
  border-radius: var(--modals-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.modals-showcase .btn:hover,
.cicosy-modal .btn:hover {
  transform: translateY(-1px);
}

.modals-showcase .btn i,
.cicosy-modal .btn i {
  font-size: 1rem;
  line-height: 1;
}

.cicosy-modal-btn-dark {
  background: var(--modals-dark-blue);
  border-color: var(--modals-dark-blue);
  color: #fff;
}

.cicosy-modal-btn-dark:hover,
.cicosy-modal-btn-dark:focus {
  background: #052a5b;
  border-color: #052a5b;
  color: #fff;
}

.cicosy-modal .cicosy-modal-window {
  border: 1px solid var(--modals-border);
  border-radius: var(--modals-radius);
  box-shadow: var(--modals-shadow);
  overflow: hidden;
}

.cicosy-modal-header {
  min-height: 70px;
  padding: 0 24px;
  border-bottom: 1px solid var(--modals-border);
}

.cicosy-modal-title {
  color: var(--modals-navy);
  font-family: "Nunito", sans-serif;
  font-size: 20px;
  font-weight: 700;
}

.cicosy-modal-close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #707982;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  line-height: 1;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.cicosy-modal-close:hover,
.cicosy-modal-close:focus {
  background: #f3f5f8;
  color: #111827;
}

.cicosy-modal-body {
  padding: 25px 24px;
  color: #343a40;
  font-size: 16px;
  line-height: 1.65;
}

.cicosy-modal-body p:last-child {
  margin-bottom: 0;
}

.cicosy-modal-footer {
  min-height: 88px;
  border-top: 1px solid var(--modals-border);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 18px 24px;
  background: #fff;
}

.cicosy-modal-dialog-card {
  max-width: 560px;
  margin: 0 auto;
}

.cicosy-modal-dialog-card--compact {
  max-width: 420px;
}

.cicosy-modal-dialog-body {
  padding: 28px 32px 30px;
  text-align: center;
}

.cicosy-modal-dialog-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 34px;
  font-weight: 700;
}

.cicosy-modal-dialog-icon--danger {
  background: var(--modals-danger-soft);
  color: var(--modals-danger);
}

.cicosy-modal-dialog-icon--success {
  background: var(--modals-success-soft);
  color: var(--modals-success);
}

.cicosy-modal-dialog-title {
  margin: 0 0 10px;
  color: var(--modals-navy);
  font-family: "Nunito", sans-serif;
  font-size: 22px;
  font-weight: 700;
}

.cicosy-modal-dialog-text {
  max-width: 490px;
  margin: 0 auto 28px;
  color: #6a7892;
  font-size: 16px;
  line-height: 1.6;
}

.cicosy-modal-dialog-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
}

.cicosy-modal-field {
  margin-bottom: 18px;
}

.cicosy-modal .form-label {
  color: var(--modals-navy);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 8px;
}

.cicosy-modal .form-control,
.cicosy-modal .form-select {
  min-height: 44px;
  border: 1px solid var(--modals-border);
  border-radius: var(--modals-radius);
  color: var(--modals-text);
  font-size: 15px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cicosy-modal textarea.form-control {
  min-height: 108px;
  resize: vertical;
}

.cicosy-modal .form-control:focus,
.cicosy-modal .form-select:focus {
  border-color: var(--modals-primary);
  box-shadow: 0 0 0 4px rgba(27, 94, 32, 0.12);
}

.cicosy-modal-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cicosy-modal-thumb {
  height: 310px;
  border: 1px solid var(--modals-border);
  border-radius: var(--modals-radius);
  overflow: hidden;
  cursor: pointer;
  background: #eef2ff;
  padding: 0;
  position: relative;
}

.cicosy-modal-thumb-art,
.cicosy-modal-lightbox-img {
  width: 100%;
  height: 100%;
  display: block;
}

.cicosy-modal-thumb-art {
  transition: transform 0.35s ease;
}

.cicosy-modal-thumb:hover .cicosy-modal-thumb-art,
.cicosy-modal-thumb:focus .cicosy-modal-thumb-art {
  transform: scale(1.04);
}

.cicosy-modal-art--tree {
  background:
    radial-gradient(circle at 53% 26%, #315f1c 0 13%, transparent 14%),
    radial-gradient(circle at 37% 24%, #4b8128 0 15%, transparent 16%),
    radial-gradient(circle at 64% 35%, #4f8a2f 0 18%, transparent 19%),
    radial-gradient(circle at 31% 42%, #2f6b24 0 16%, transparent 17%),
    linear-gradient(75deg, transparent 45%, #835026 46% 50%, transparent 51%),
    linear-gradient(90deg, transparent 48%, #9a5c2c 49% 54%, transparent 55%),
    linear-gradient(#9fd3ea 0 62%, #88b864 63% 100%);
}

.cicosy-modal-art--balloon {
  background:
    radial-gradient(ellipse at 70% 24%, #ca455e 0 2%, transparent 2.4%),
    radial-gradient(ellipse at 61% 36%, #f1b154 0 2.6%, transparent 3%),
    radial-gradient(ellipse at 78% 42%, #6779d6 0 2%, transparent 2.4%),
    radial-gradient(ellipse at 46% 46%, #b24b7b 0 2.8%, transparent 3.2%),
    linear-gradient(180deg, #f7c88a 0%, #f6d2a0 32%, #b1874c 33%, #d7a354 45%, #806c50 46%, #566b4c 100%);
}

.cicosy-modal-lightbox .modal-dialog {
  max-width: min(900px, calc(100vw - 34px));
}

.cicosy-modal-lightbox-content {
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
  position: relative;
}

.cicosy-modal-lightbox-img {
  height: min(72vh, 600px);
  border-radius: var(--modals-radius);
  box-shadow: var(--modals-shadow);
}

.cicosy-modal-lightbox-close {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(1, 41, 112, 0.38);
  color: #fff;
  position: absolute;
  right: 14px;
  top: 10px;
  z-index: 2;
  display: grid;
  place-items: center;
  font-size: 18px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.cicosy-modal-login {
  padding: 24px 28px 28px;
}

.cicosy-modal-login-header {
  text-align: center;
  margin-bottom: 26px;
  position: relative;
}

.cicosy-modal-login-close {
  position: absolute;
  right: -14px;
  top: -18px;
}

.cicosy-modal-login-title {
  margin: 0 0 8px;
  color: var(--modals-navy);
  font-family: "Nunito", sans-serif;
  font-size: 24px;
  font-weight: 700;
}

.cicosy-modal-login-subtitle {
  margin: 0;
  color: #6a7892;
  font-size: 16px;
}

.cicosy-modal-password-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.cicosy-modal-forgot {
  color: var(--modals-primary);
  font-size: 14px;
  font-weight: 700;
}

.cicosy-modal-remember {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 14px 0 18px;
  color: #526173;
}

.cicosy-modal-full-btn,
.cicosy-modal-google-btn {
  width: 100%;
}

.cicosy-modal-divider {
  height: 1px;
  background: #edf1f7;
  margin: 28px 0;
}

.cicosy-modal-google-btn {
  background: #fff;
  border: 1px solid var(--modals-border);
  color: #2b313a;
  font-size: 15px;
  font-weight: 700;
}

.cicosy-modal-google-btn:hover,
.cicosy-modal-google-btn:focus {
  background: #f7f9ff;
  border-color: var(--modals-primary);
  color: var(--modals-navy);
}

.cicosy-modal-signup-text {
  margin: 22px 0 0;
  text-align: center;
  color: #2b313a;
  font-size: 15px;
}

.cicosy-modal-signup-text a {
  color: var(--modals-primary);
  font-weight: 700;
}

.cicosy-modal-workflow-lead {
  margin: 0 0 18px;
  color: var(--modals-muted);
  font-size: 15px;
  line-height: 1.55;
}

.cicosy-modal-workflow-item {
  width: 100%;
  min-width: 0;
}

.cicosy-modal-workflow-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 6px;
}

.cicosy-modal-workflow-title {
  margin: 0;
  color: var(--modals-navy);
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.cicosy-modal-workflow-text {
  margin: 0 0 11px;
  color: var(--modals-muted);
  font-size: 14px;
  line-height: 1.5;
}

.cicosy-modal-workflow-progress {
  --progress-track: #edf7ee;
  --progress-primary: #1b5e20;
  --progress-success: #21a66f;
  --progress-warning: #f0a000;
  --progress-danger: #ef4f6f;
  --progress-info: #2f80ed;
  display: grid;
  gap: 7px;
}

.cicosy-modal-workflow-progress span {
  color: #52648a;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 1200px) {
  .modals-showcase .cicosy-card-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 992px) {
  .modals-showcase .cicosy-card-grid--2,
  .modals-showcase .cicosy-card-grid--3 {
    grid-template-columns: 1fr;
  }

  .cicosy-modal-thumb {
    height: 260px;
  }
}

@media (max-width: 640px) {
  .modals-section-title {
    font-size: 20px;
  }

  .modals-button-row {
    align-items: stretch;
  }

  .modals-button-row .btn {
    width: 100%;
  }

  .cicosy-modal-header {
    min-height: 62px;
    padding: 0 18px;
  }

  .cicosy-modal-title {
    font-size: 18px;
  }

  .cicosy-modal-body {
    padding: 21px 18px;
    font-size: 15px;
  }

  .cicosy-modal-footer {
    min-height: auto;
    padding: 16px 18px;
    flex-direction: column-reverse;
  }

  .cicosy-modal-footer .btn,
  .cicosy-modal-dialog-actions .btn {
    width: 100%;
  }

  .cicosy-modal-dialog-body {
    padding: 24px 20px;
  }

  .cicosy-modal-dialog-actions {
    flex-direction: column-reverse;
  }

  .cicosy-modal-image-grid {
    grid-template-columns: 1fr;
  }

  .cicosy-modal-thumb {
    height: 240px;
  }

  .cicosy-modal-login {
    padding: 24px 18px;
  }
}
/* End modal component fragments */

/* Navs and tabs component fragments */
.tabs-showcase {
  --tabs-primary: #1b5e20;
  --tabs-primary-dark: #2f3fe2;
  --tabs-navy: #1b5e20;
  --tabs-body: #444f6f;
  --tabs-muted: #66728f;
  --tabs-disabled: #9aa4bc;
  --tabs-border: #d8e2ff;
  --tabs-soft-panel: #f5f7ff;
  --tabs-star: #f5a400;
  display: grid;
  gap: 24px;
}

.tabs-showcase .cicosy-card-grid {
  gap: 20px;
}

.tabs-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: var(--tabs-border);
  --cicosy-card-shell-heading: var(--tabs-navy);
  --cicosy-card-shell-muted: var(--tabs-muted);
}

.tabs-showcase .tabs-dropdown-shell,
.tabs-showcase .tabs-dropdown-shell > .cicosy-card-shell-body {
  overflow: visible;
}

.tabs-section-title {
  margin: 4px 0 -4px;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--tabs-navy);
  letter-spacing: 0;
}

.tabs-content-tall {
  min-height: 208px;
}

.tabs-stack {
  display: grid;
  gap: 38px;
}

.tabs-stack--small {
  gap: 24px;
}

.tabs-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}

.tabs-label {
  margin: 0 0 22px;
  color: var(--tabs-muted);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

.cicosy-tabs-nav {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.cicosy-tabs-nav--start,
.cicosy-tabs-nav--left {
  justify-content: flex-start;
}

.cicosy-tabs-nav--center {
  justify-content: center;
}

.cicosy-tabs-nav--end,
.cicosy-tabs-nav--right {
  justify-content: flex-end;
}

.cicosy-tabs-dropdown-wrap {
  display: inline-flex;
  align-items: center;
}

.cicosy-tabs-dropdown-wrap.is-disabled {
  pointer-events: none;
}

.cicosy-tabs-dropdown-wrap .cicosy-dropdown {
  display: inline-flex;
}

.cicosy-tabs-dropdown-wrap .cicosy-dropdown-btn--nav {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--tabs-body, #444f6f);
  font-family: "Nunito", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  gap: 6px;
}

.cicosy-tabs-dropdown-wrap .cicosy-dropdown-btn--nav:hover,
.cicosy-tabs-dropdown-wrap .cicosy-dropdown-btn--nav:focus-visible,
.cicosy-tabs-dropdown-wrap .cicosy-dropdown.is-open .cicosy-dropdown-btn--nav {
  background: transparent;
  color: var(--tabs-primary, #1b5e20);
  transform: none;
}

.cicosy-tabs-dropdown-wrap.is-active .cicosy-dropdown-btn--nav {
  color: var(--tabs-primary, #1b5e20);
  font-weight: 700;
}

.cicosy-tabs-dropdown-wrap .cicosy-tabs-dropdown-menu {
  min-width: 180px;
}

.cicosy-tabs-item {
  color: var(--tabs-body);
  text-decoration: none;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  border: 0;
  background: transparent;
  font: inherit;
  padding: 0;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.16s ease, background-color 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.cicosy-tabs-item:hover {
  color: var(--tabs-primary);
}

.cicosy-tabs-item.is-active {
  color: var(--tabs-primary);
  font-weight: 700;
}

.cicosy-tabs-item.is-disabled {
  color: var(--tabs-disabled);
  cursor: not-allowed;
  pointer-events: none;
}

.cicosy-tabs-nav--tabs {
  gap: 0;
  border-bottom: 1px solid var(--tabs-border);
}

.cicosy-tabs-nav--tabs .cicosy-tabs-item {
  padding: 12px 15px;
  border: 1px solid transparent;
  border-bottom: 0;
  color: var(--tabs-body);
}

.cicosy-tabs-nav--tabs .cicosy-dropdown-btn--nav {
  padding: 12px 15px;
  border: 1px solid transparent;
  border-bottom: 0;
  color: var(--tabs-body, #444f6f);
}

.cicosy-tabs-nav--tabs .cicosy-tabs-item.is-active {
  background: #fff;
  border-color: var(--tabs-border, #d8e2ff);
  color: var(--tabs-navy, #1b5e20);
  border-radius: 4px 4px 0 0;
  margin-bottom: -1px;
}

.cicosy-tabs-nav--tabs .cicosy-tabs-dropdown-wrap.is-active .cicosy-dropdown-btn--nav,
.cicosy-tabs-nav--tabs .cicosy-dropdown.is-open .cicosy-dropdown-btn--nav {
  background: #fff;
  border-color: var(--tabs-border);
  color: var(--tabs-navy);
  border-radius: 4px 4px 0 0;
  margin-bottom: -1px;
}

.cicosy-tabs-nav--pills {
  gap: 14px;
}

.cicosy-tabs-nav--pills .cicosy-tabs-item,
.cicosy-tabs-nav--pills .cicosy-dropdown-btn--nav,
.cicosy-tabs-pill {
  padding: 12px 15px;
  border-radius: 4px;
  color: var(--tabs-body, #444f6f);
}

.cicosy-tabs-nav--pills .cicosy-tabs-item:hover,
.cicosy-tabs-nav--pills .cicosy-dropdown-btn--nav:hover,
.cicosy-tabs-nav--pills .cicosy-dropdown.is-open .cicosy-dropdown-btn--nav,
.cicosy-tabs-pill:hover {
  background: rgba(27, 94, 32, 0.08);
}

.cicosy-tabs-nav--pills .cicosy-tabs-item.is-active,
.cicosy-tabs-nav--pills .cicosy-tabs-dropdown-wrap.is-active .cicosy-dropdown-btn--nav,
.cicosy-tabs-pill.is-active {
  background: var(--tabs-primary, #1b5e20);
  color: #fff;
}

.cicosy-tabs-nav--pills .cicosy-tabs-item.is-active:hover,
.cicosy-tabs-nav--pills .cicosy-tabs-dropdown-wrap.is-active .cicosy-dropdown-btn--nav:hover,
.cicosy-tabs-pill.is-active:hover {
  background: var(--tabs-primary-dark, #2f3fe2);
  color: #fff;
}

.cicosy-tabs-nav--underline {
  gap: 22px;
  border-bottom: 1px solid var(--tabs-border);
}

.cicosy-tabs-nav--underline .cicosy-tabs-item {
  position: relative;
  padding-bottom: 18px;
}

.cicosy-tabs-nav--underline .cicosy-tabs-item.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--tabs-primary);
}

.cicosy-tabs-nav--fill {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  width: 100%;
  align-items: center;
}

.cicosy-tabs-nav--fill .cicosy-tabs-item {
  justify-content: center;
  text-align: center;
  padding: 12px 15px;
  border-radius: 4px;
}

.cicosy-tabs-nav--fill .cicosy-tabs-item.is-active {
  color: #fff;
  background: var(--tabs-primary);
}

.cicosy-tabs-nav--vertical,
.cicosy-tabs-nav--vertical-pills {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: stretch;
}

.cicosy-tabs-nav--vertical .cicosy-tabs-item {
  text-align: left;
  padding-left: 14px;
}

.cicosy-tabs-nav--vertical-pills .cicosy-tabs-item {
  padding: 12px 14px;
  border-radius: 4px;
}

.cicosy-tabs-nav--vertical-pills .cicosy-tabs-item.is-active {
  background: var(--tabs-primary);
  color: #fff;
}

.cicosy-tabs-nav--icon-tabs {
  gap: 0;
  border-bottom: 1px solid var(--tabs-border);
}

.cicosy-tabs-nav--icon-tabs .cicosy-tabs-item {
  padding: 11px 14px;
  border: 1px solid transparent;
  border-bottom: 0;
}

.cicosy-tabs-nav--icon-tabs .cicosy-tabs-item.is-active {
  border-color: var(--tabs-border);
  border-radius: 4px 4px 0 0;
  color: var(--tabs-navy);
  margin-bottom: -1px;
  background: #fff;
}

.cicosy-tabs-nav--icon-only {
  gap: 14px;
}

.cicosy-tabs-icon-pill {
  width: 42px;
  height: 38px;
  border-radius: 4px;
  display: inline-grid;
  place-items: center;
  color: var(--tabs-body);
}

.cicosy-tabs-icon-pill.is-active {
  color: #fff;
  background: var(--tabs-primary);
}

.cicosy-tabs-icon {
  font-size: 16px;
  line-height: 1;
}

.cicosy-tabs-caret {
  display: inline-block;
  margin-left: 2px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  transform: translateY(1px);
}

.cicosy-tabs-panel {
  display: none;
}

.cicosy-tabs-panel.is-active {
  display: block;
}

.cicosy-tabs-stable-panel-stack {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: var(--cicosy-tabs-stable-panel-min-height, 32rem);
  position: relative;
  overflow-anchor: none;
}

.cicosy-tabs-stable-panel-stack > [role="tabpanel"] {
  max-width: 100%;
  min-width: 0;
}

.cicosy-tabs-stable-panel-stack > [hidden] {
  display: none !important;
}

.cicosy-tabs-stable-panel-stack.is-measuring {
  overflow: hidden;
}

.cicosy-tabs-stable-panel-stack > [data-cicosy-measuring-panel] {
  position: absolute !important;
  inset: 0 auto auto 0;
  width: 100%;
  visibility: hidden !important;
  pointer-events: none !important;
}

.cicosy-tabs-panel-box {
  line-height: 1.55;
  color: #111a35;
}

.cicosy-tabs-panel-box--border {
  border: 1px solid var(--tabs-border);
  border-top: 0;
  padding: 17px 16px;
}

.cicosy-tabs-panel-box--soft {
  background: var(--tabs-soft-panel);
  border-radius: 4px;
  padding: 19px 17px;
  margin-top: 16px;
}

.cicosy-tabs-panel-box--review {
  border: 1px solid var(--tabs-border);
  border-top: 0;
  padding: 17px 16px 20px;
}

.tabs-vertical-layout {
  display: grid;
  grid-template-columns: minmax(220px, 368px) 1fr;
  gap: 20px;
  align-items: start;
}

.cicosy-tabs-nav--side {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-self: stretch;
  width: 100%;
  align-items: stretch;
}

.cicosy-tabs-nav--side .cicosy-tabs-item {
  gap: 7px;
  padding: 9px 14px;
  border-radius: 4px;
  text-align: left;
  justify-content: flex-start;
  width: 100%;
  color: var(--tabs-body);
}

.cicosy-tabs-nav--side .cicosy-tabs-item.is-active {
  background: var(--tabs-primary);
  color: #fff;
}

.tabs-content-title {
  margin: 0 0 6px;
  color: var(--tabs-navy);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0;
}

.tabs-content-text {
  margin: 0;
  color: #111a35;
  line-height: 1.55;
  font-size: 16px;
}

.cicosy-tabs-badge {
  display: inline-block;
  padding: 2px 7px;
  margin-left: 6px;
  border-radius: 4px;
  background: var(--tabs-primary);
  color: #fff;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
}

.tabs-review-line {
  display: flex;
  align-items: center;
  margin-bottom: 18px;
  color: #18213d;
}

.tabs-stars {
  color: var(--tabs-star);
  font-size: 18px;
  letter-spacing: 0;
  margin-right: 8px;
}

.tabs-review-quote {
  color: var(--tabs-muted);
  margin: 0;
  line-height: 1.6;
}

.cicosy-tabs-settings-nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  margin-bottom: 18px;
}

.cicosy-tabs-settings-item {
  border: 0;
  background: transparent;
  border-radius: 4px;
  padding: 10px 12px;
  min-height: 59px;
  font: inherit;
  color: var(--tabs-body);
  display: grid;
  place-items: center;
  gap: 4px;
  cursor: pointer;
  transition: color 0.16s ease, background-color 0.16s ease, transform 0.16s ease;
}

.cicosy-tabs-settings-item:hover {
  color: var(--tabs-primary);
  background: rgba(27, 94, 32, 0.08);
}

.cicosy-tabs-settings-item.is-active {
  background: var(--tabs-primary);
  color: #fff;
}

.cicosy-tabs-settings-icon {
  font-size: 22px;
  line-height: 1;
}

.cicosy-tabs-settings-item span {
  font-size: 14px;
  white-space: nowrap;
}

.tabs-settings-text {
  margin: 0;
  color: var(--tabs-muted);
}

@media (max-width: 992px) {
  .tabs-showcase .cicosy-card-grid--2,
  .tabs-vertical-layout {
    grid-template-columns: 1fr;
  }

  .tabs-two-column {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .cicosy-tabs-settings-nav {
    gap: 16px;
  }

  .cicosy-tabs-nav--fill {
    gap: 22px;
  }
}

@media (max-width: 640px) {
  .tabs-showcase {
    gap: 18px;
  }

  .tabs-section-title {
    margin: 2px 0 -2px;
    font-size: 20px;
  }

  .tabs-showcase .cicosy-card-grid {
    gap: 14px;
  }

  .tabs-content-tall {
    min-height: 0;
  }

  .cicosy-tabs-nav,
  .cicosy-tabs-nav--tabs,
  .cicosy-tabs-nav--underline,
  .cicosy-tabs-nav--icon-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .cicosy-tabs-nav::-webkit-scrollbar,
  .cicosy-tabs-nav--tabs::-webkit-scrollbar,
  .cicosy-tabs-nav--underline::-webkit-scrollbar,
  .cicosy-tabs-nav--icon-tabs::-webkit-scrollbar {
    display: none;
  }

  .cicosy-tabs-item {
    font-size: 14px;
    flex-shrink: 0;
  }

  .cicosy-tabs-nav--tabs .cicosy-tabs-item,
  .cicosy-tabs-nav--pills .cicosy-tabs-item,
  .cicosy-tabs-pill,
  .cicosy-tabs-nav--vertical-pills .cicosy-tabs-item {
    padding: 11px 14px;
  }

  .cicosy-tabs-nav--fill {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  .cicosy-tabs-nav--fill .cicosy-tabs-item {
    font-size: 14px;
    padding: 11px 12px;
  }

  .tabs-two-column {
    gap: 36px;
  }

  .tabs-label {
    margin-bottom: 18px;
  }

  .cicosy-tabs-nav--icon-only {
    gap: 16px;
  }

  .cicosy-tabs-icon-pill {
    width: 40px;
    height: 38px;
  }

  .cicosy-tabs-settings-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
  }

  .cicosy-tabs-settings-item {
    min-height: 58px;
    padding: 8px;
  }

  .cicosy-tabs-settings-item span {
    font-size: 14px;
  }

  .cicosy-tabs-panel-box--border,
  .cicosy-tabs-panel-box--review {
    padding: 16px;
  }

  .tabs-review-line {
    flex-wrap: nowrap;
    white-space: nowrap;
  }

  .tabs-content-title {
    font-size: 20px;
  }

  .tabs-content-text {
    font-size: 15px;
  }
}

@media (max-width: 380px) {
  .cicosy-tabs-item,
  .cicosy-tabs-nav--fill .cicosy-tabs-item,
  .cicosy-tabs-settings-item span {
    font-size: 13px;
  }

  .cicosy-tabs-nav--fill {
    gap: 10px;
  }

  .cicosy-tabs-settings-nav {
    gap: 6px;
  }

  .cicosy-tabs-settings-item {
    padding: 7px 4px;
  }

  .tabs-two-column {
    gap: 24px;
  }
}
/* End navs and tabs component fragments */

/* Offcanvas component fragments */
.offcanvas-showcase,
.cicosy-offcanvas,
.cicosy-offcanvas-trigger,
.cicosy-offcanvas-action {
  --offcanvas-primary: #1b5e20;
  --offcanvas-primary-dark: #2436c9;
  --offcanvas-navy: #1b5e20;
  --offcanvas-text: #1f2937;
  --offcanvas-muted: #66748e;
  --offcanvas-border: #cfe8d2;
  --offcanvas-soft: #f4f7ff;
  --offcanvas-danger: #ef4565;
  --offcanvas-shadow: 0 8px 24px rgba(1, 41, 112, 0.08);
}

.offcanvas-showcase {
  color: var(--offcanvas-text);
}

.offcanvas-showcase .cicosy-card-grid {
  gap: 22px;
}

.offcanvas-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: var(--offcanvas-border);
  --cicosy-card-shell-heading: var(--offcanvas-navy);
  --cicosy-card-shell-muted: var(--offcanvas-muted);
}

.offcanvas-section {
  margin-bottom: 30px;
}

.offcanvas-section-title {
  margin: 0 0 14px;
  color: var(--offcanvas-navy);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
}

.offcanvas-grid {
  display: grid;
  gap: 22px;
}

.offcanvas-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.offcanvas-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.offcanvas-card {
  min-width: 0;
  background: #fff;
  border: 1px solid var(--offcanvas-border);
  border-radius: 6px;
  box-shadow: var(--offcanvas-shadow);
  overflow: hidden;
}

.offcanvas-card-header {
  min-height: 58px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--offcanvas-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.offcanvas-card-title {
  margin: 0;
  color: var(--offcanvas-navy);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}

.offcanvas-card-description {
  margin: 0;
  color: var(--offcanvas-muted);
  font-size: 13px;
  line-height: 1.35;
  text-align: right;
}

.offcanvas-card-body {
  padding: 22px;
}

.offcanvas-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cicosy-offcanvas-trigger,
.cicosy-offcanvas-action {
  min-height: 42px;
  border: 0;
  border-radius: 5px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.cicosy-offcanvas-trigger:hover,
.cicosy-offcanvas-action:hover {
  transform: translateY(-1px);
}

.cicosy-offcanvas-trigger--primary,
.cicosy-offcanvas-action--primary {
  background: var(--offcanvas-primary);
  color: #fff;
}

.cicosy-offcanvas-trigger--primary:hover,
.cicosy-offcanvas-action--primary:hover {
  background: var(--offcanvas-primary-dark);
  color: #fff;
}

.cicosy-offcanvas-trigger--outline,
.cicosy-offcanvas-action--outline {
  background: #fff;
  border: 1px solid var(--offcanvas-primary);
  color: var(--offcanvas-primary);
}

.cicosy-offcanvas-trigger--outline:hover,
.cicosy-offcanvas-action--outline:hover {
  background: rgba(27, 94, 32, 0.08);
  color: var(--offcanvas-primary-dark);
}

.cicosy-offcanvas-trigger--full,
.cicosy-offcanvas-action--full {
  width: 100%;
}

.cicosy-offcanvas-trigger--with-badge {
  position: relative;
}

.cicosy-offcanvas-badge {
  position: absolute;
  top: -9px;
  right: -11px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--offcanvas-danger);
  color: #fff;
  font-size: 11px;
  display: grid;
  place-items: center;
  font-weight: 600;
  line-height: 1;
}

body.cicosy-offcanvas-lock {
  overflow: hidden;
}

.cicosy-offcanvas-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.52);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 1040;
}

.cicosy-offcanvas-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.cicosy-offcanvas {
  position: fixed;
  background: #fff;
  z-index: 1050;
  box-shadow: 0 14px 44px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  transition: transform 0.32s ease;
  outline: 0;
}

.cicosy-offcanvas--start {
  top: 0;
  left: 0;
  width: 380px;
  max-width: 92vw;
  height: 100vh;
  transform: translateX(-105%);
}

.cicosy-offcanvas--end {
  top: 0;
  right: 0;
  width: 420px;
  max-width: 92vw;
  height: 100vh;
  transform: translateX(105%);
}

.cicosy-offcanvas--top {
  top: 0;
  left: 0;
  width: 100%;
  min-height: 330px;
  transform: translateY(-105%);
}

.cicosy-offcanvas--bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 190px;
  transform: translateY(105%);
}

.cicosy-offcanvas.is-open {
  transform: translate(0, 0);
}

.cicosy-offcanvas-header {
  min-height: 58px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--offcanvas-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.cicosy-offcanvas-title {
  margin: 0;
  color: var(--offcanvas-navy);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.cicosy-offcanvas-close {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #777;
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.cicosy-offcanvas-close:hover {
  background: #f4f7ff;
  color: #111827;
}

.cicosy-offcanvas-body {
  padding: 18px 16px;
  overflow-y: auto;
  flex: 1;
}

.cicosy-offcanvas-body p {
  margin: 0 0 18px;
  color: #111827;
  font-size: 14px;
  line-height: 1.6;
}

.cicosy-offcanvas--menu .cicosy-offcanvas-title {
  display: none;
}

.cicosy-offcanvas-brand-mark {
  width: 54px;
  height: 54px;
  margin: 2px 0 18px;
  border-radius: 12px;
  background: var(--offcanvas-primary);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 700;
}

.cicosy-offcanvas-drawer-menu {
  margin: 0 -16px;
}

.cicosy-offcanvas-drawer-link {
  min-height: 48px;
  padding: 15px 18px;
  border-bottom: 1px solid #eef2ff;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #374151;
  font-weight: 500;
  text-decoration: none;
}

.cicosy-offcanvas-drawer-link:hover,
.cicosy-offcanvas-drawer-link.is-active {
  background: var(--offcanvas-primary);
  color: #fff;
}

.cicosy-offcanvas-drawer-link.is-danger {
  color: var(--offcanvas-danger);
}

.cicosy-offcanvas-drawer-link.is-danger:hover {
  color: #fff;
  background: var(--offcanvas-danger);
}

.cicosy-offcanvas-menu-badge {
  margin-left: auto;
  background: var(--offcanvas-primary);
  color: #fff;
  min-width: 20px;
  height: 20px;
  border-radius: 5px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.cicosy-offcanvas-drawer-link:hover .cicosy-offcanvas-menu-badge,
.cicosy-offcanvas-drawer-link.is-active .cicosy-offcanvas-menu-badge {
  background: #fff;
  color: var(--offcanvas-primary);
}

.cicosy-offcanvas-cart-list {
  display: grid;
  gap: 16px;
}

.cicosy-offcanvas-product {
  min-height: 210px;
  border-radius: 4px;
  background:
    radial-gradient(circle at 28% 35%, rgba(27, 94, 32, 0.25), transparent 24%),
    radial-gradient(circle at 68% 38%, rgba(1, 41, 112, 0.18), transparent 26%),
    linear-gradient(135deg, #e9edff, #f9fbff);
  display: grid;
  place-items: center;
  color: var(--offcanvas-navy);
  font-weight: 700;
  text-align: center;
  padding: 16px;
}

.cicosy-offcanvas-media-item {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--offcanvas-border);
  border-radius: 6px;
  background: #fff;
}

.cicosy-offcanvas-media-icon {
  width: 38px;
  height: 38px;
  border-radius: 6px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  background: rgba(27, 94, 32, 0.1);
  color: var(--offcanvas-primary);
  font-size: 17px;
}

.cicosy-offcanvas-media-item--success .cicosy-offcanvas-media-icon {
  background: rgba(32, 167, 107, 0.12);
  color: #168d58;
}

.cicosy-offcanvas-media-item--warning .cicosy-offcanvas-media-icon {
  background: rgba(245, 158, 11, 0.14);
  color: #b7791f;
}

.cicosy-offcanvas-media-item--danger .cicosy-offcanvas-media-icon {
  background: rgba(239, 69, 101, 0.12);
  color: var(--offcanvas-danger);
}

.cicosy-offcanvas-media-item--muted .cicosy-offcanvas-media-icon {
  background: #f1faf2;
  color: var(--offcanvas-muted);
}

.cicosy-offcanvas-media-content {
  min-width: 0;
  display: grid;
  gap: 3px;
  color: #243044;
  font-size: 14px;
  line-height: 1.35;
}

.cicosy-offcanvas-media-content strong {
  color: var(--offcanvas-navy);
  font-size: 14px;
  line-height: 1.25;
}

.cicosy-offcanvas-media-content span {
  color: #344054;
}

.cicosy-offcanvas-media-content small {
  color: var(--offcanvas-muted);
  font-size: 12px;
}

.cicosy-offcanvas-divider {
  height: 1px;
  background: #dde6fa;
  margin: 16px 0;
}

.cicosy-offcanvas-summary-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  color: #243044;
}

.cicosy-offcanvas-summary-row strong,
.cicosy-offcanvas-summary-row span:last-child {
  text-align: right;
}

.cicosy-offcanvas-action-stack {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.cicosy-offcanvas-filter-group {
  margin-bottom: 24px;
}

.cicosy-offcanvas-filter-group h3 {
  margin: 0 0 12px;
  color: var(--offcanvas-navy);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}

.cicosy-offcanvas-option {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
  color: #243044;
  font-size: 14px;
}

.cicosy-offcanvas-option input {
  width: 18px;
  height: 18px;
  accent-color: var(--offcanvas-primary);
  flex: 0 0 auto;
}

.cicosy-offcanvas-option-content {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cicosy-offcanvas-range {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.cicosy-offcanvas-range input {
  width: 100%;
  height: 38px;
  border: 1px solid var(--offcanvas-border);
  border-radius: 4px;
  padding: 0 10px;
  outline: none;
}

.cicosy-offcanvas-range input:focus {
  border-color: var(--offcanvas-primary);
  box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.12);
}

.cicosy-offcanvas-stars {
  color: #f59e0b;
  display: inline-flex;
  align-items: center;
  gap: 1px;
}

@media (max-width: 1200px) {
  .offcanvas-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .offcanvas-grid--2,
  .offcanvas-grid--3 {
    grid-template-columns: 1fr;
  }

  .offcanvas-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .offcanvas-card-description {
    text-align: left;
  }

  .offcanvas-button-row .cicosy-offcanvas-trigger {
    width: 100%;
  }

  .offcanvas-section-title {
    font-size: 20px;
  }

  .cicosy-offcanvas--start,
  .cicosy-offcanvas--end {
    width: min(400px, calc(100vw - 64px));
    max-width: calc(100vw - 48px);
  }

  .cicosy-offcanvas--top {
    min-height: 300px;
  }

  .cicosy-offcanvas--bottom {
    min-height: 190px;
  }
}

@media (max-width: 520px) {
  .offcanvas-card-header,
  .offcanvas-card-body {
    padding: 16px;
  }

  .cicosy-offcanvas-trigger,
  .cicosy-offcanvas-action {
    min-height: 44px;
    padding-inline: 18px;
  }

  .cicosy-offcanvas-product {
    min-height: 180px;
  }

  .cicosy-offcanvas-range {
    grid-template-columns: 1fr;
  }
}
/* End offcanvas component fragments */

/* Pagination component fragments */
.pagination-showcase,
.pagination-card,
.pagination-label,
.cicosy-pagination-nav,
.cicosy-pagination-result-info,
.cicosy-pagination-entries-control,
.cicosy-pagination-jump-control,
.cicosy-pagination-post-link,
.cicosy-pagination-table {
  --pagination-primary: #1b5e20;
  --pagination-primary-hover: #2f3fe0;
  --pagination-heading: #1b5e20;
  --pagination-text: #263b5e;
  --pagination-muted: #5f6f8f;
  --pagination-border: #d5dfff;
  --pagination-soft-border: #e5ebff;
  --pagination-table-head: #edf7ee;
  --pagination-soft: #f3f6ff;
  --pagination-shadow: 0 8px 24px rgba(1, 41, 112, 0.06);
}

.pagination-showcase {
  color: var(--pagination-text);
}

.pagination-showcase .cicosy-card-grid {
  gap: 20px;
}

.pagination-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: var(--pagination-border);
  --cicosy-card-shell-heading: var(--pagination-heading);
  --cicosy-card-shell-muted: var(--pagination-muted);
}

.pagination-shell--tall > .cicosy-card-shell-body {
  min-height: 258px;
}

.pagination-section {
  margin-top: 28px;
}

.pagination-section:first-of-type {
  margin-top: 0;
}

.pagination-section-title {
  margin: 0 0 14px;
  color: var(--pagination-heading);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
}

.pagination-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.pagination-card {
  min-width: 0;
  background: #fff;
  border: 1px solid var(--pagination-border);
  border-radius: 4px;
  box-shadow: var(--pagination-shadow);
  overflow: hidden;
}

.pagination-card--full {
  grid-column: 1 / -1;
}

.pagination-card-header {
  min-height: 52px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--pagination-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.pagination-card-title {
  margin: 0;
  color: var(--pagination-heading);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}

.pagination-card-description {
  margin: 0;
  color: var(--pagination-muted);
  font-size: 13px;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}

.pagination-card-body {
  padding: 20px;
  min-height: 76px;
}

.pagination-card-body--tall {
  min-height: 258px;
}

.pagination-label {
  display: block;
  margin-bottom: 8px;
  color: var(--pagination-muted);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.pagination-size-group + .pagination-size-group {
  margin-top: 16px;
}

.pagination-alignment-stack {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.pagination-info-row,
.pagination-jump-row,
.pagination-post-nav,
.pagination-table-footer,
.pagination-table-pagination-area {
  display: flex;
  align-items: center;
  gap: 20px;
}

.pagination-info-row,
.pagination-table-footer {
  justify-content: space-between;
}

.pagination-jump-row {
  flex-wrap: nowrap;
  gap: 14px;
}

.pagination-post-nav {
  justify-content: space-between;
}

.pagination-table-pagination-area {
  justify-content: flex-end;
  gap: 16px;
  flex-wrap: nowrap;
}

.pagination-table-pagination-area > .cicosy-pagination-nav,
.pagination-jump-row > .cicosy-pagination-nav {
  width: auto;
  flex: 0 0 auto;
}

.cicosy-pagination-nav {
  width: 100%;
}

.cicosy-pagination-nav--start .cicosy-pagination {
  justify-content: flex-start;
}

.cicosy-pagination-nav--center .cicosy-pagination {
  justify-content: center;
}

.cicosy-pagination-nav--end .cicosy-pagination {
  justify-content: flex-end;
}

.cicosy-pagination {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cicosy-pagination-item {
  display: inline-flex;
}

.cicosy-pagination-link,
.cicosy-pagination-ellipsis {
  min-width: var(--cicosy-button-height);
  height: var(--cicosy-button-height);
  padding: 0 0.55rem;
  border: 1px solid var(--pagination-border);
  border-radius: 4px;
  background: #fff;
  color: var(--pagination-heading);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.cicosy-pagination-link {
  cursor: pointer;
}

.cicosy-pagination-link:hover,
.cicosy-pagination-link:focus {
  background: #f3f6ff;
  border-color: #aebcff;
  color: var(--pagination-primary);
}

.cicosy-pagination-item.is-active .cicosy-pagination-link,
.cicosy-pagination-link.is-active {
  background: var(--pagination-primary);
  border-color: var(--pagination-primary);
  color: #fff;
  font-weight: 700;
}

.cicosy-pagination-item.is-disabled .cicosy-pagination-link,
.cicosy-pagination-link[aria-disabled="true"] {
  color: #c4ccdc;
  background: #fff;
  border-color: var(--pagination-soft-border);
  cursor: not-allowed;
  pointer-events: none;
}

.cicosy-pagination-link--icon {
  width: var(--cicosy-button-height);
  padding: 0;
  font-size: var(--cicosy-text-md);
}

.cicosy-pagination--small .cicosy-pagination-link,
.cicosy-pagination--small .cicosy-pagination-ellipsis,
.cicosy-pagination--sm .cicosy-pagination-link,
.cicosy-pagination--sm .cicosy-pagination-ellipsis {
  min-width: 28px;
  height: var(--cicosy-button-height-sm);
  padding: 0 0.45rem;
  font-size: var(--cicosy-text-sm);
}

.cicosy-pagination--large .cicosy-pagination-link,
.cicosy-pagination--large .cicosy-pagination-ellipsis,
.cicosy-pagination--lg .cicosy-pagination-link,
.cicosy-pagination--lg .cicosy-pagination-ellipsis {
  min-width: var(--cicosy-button-height-lg);
  height: var(--cicosy-button-height-lg);
  padding: 0 0.8rem;
  font-size: var(--cicosy-text-md);
}

.cicosy-pagination-ellipsis {
  color: #a0acc4;
  font-size: 13px;
  font-weight: 700;
}

.cicosy-pagination-result-info {
  margin: 0;
  color: var(--pagination-muted);
  font-size: 15px;
}

.pagination-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.pagination-realworld-table {
  margin: -20px;
}

.cicosy-pagination-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  background: #fff;
}

.cicosy-pagination-table thead {
  background: var(--pagination-table-head);
}

.cicosy-pagination-table th {
  padding: 14px 16px;
  text-align: left;
  color: #4d5d7c;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  border-bottom: 1px solid var(--pagination-border);
}

.cicosy-pagination-table td {
  padding: 15px 16px;
  color: #10294f;
  border-bottom: 1px solid var(--pagination-soft-border);
  font-size: 14px;
}

.cicosy-pagination-table-id {
  width: 9%;
}

.cicosy-pagination-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 7px;
  border-radius: 4px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.cicosy-pagination-status--active {
  background: #16a765;
}

.cicosy-pagination-status--pending {
  background: #ffb300;
  color: #1f2a44;
}

.cicosy-pagination-status--inactive {
  background: #6c757d;
}

.pagination-table-footer {
  padding: 14px 20px;
  background: var(--pagination-soft);
  border-top: 1px solid var(--pagination-border);
  min-height: 70px;
}

.cicosy-pagination-entries-control,
.cicosy-pagination-jump-control {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--pagination-muted);
  font-size: 15px;
  white-space: nowrap;
}

.cicosy-pagination-entries-control select,
.cicosy-pagination-jump-control input {
  height: 25px;
  min-height: 25px;
  line-height: 1;
  border: 1px solid var(--pagination-border);
  background: #fff;
  border-radius: 4px;
  color: var(--pagination-heading);
  font-family: inherit;
  font-size: var(--cicosy-text-sm);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cicosy-pagination-entries-control select {
  min-width: 50px;
  padding: 4px 7px;
}

.cicosy-pagination-jump-control input {
  width: 60px;
  padding: 4px 10px;
}

.cicosy-pagination-entries-control select:focus,
.cicosy-pagination-jump-control input:focus {
  border-color: var(--pagination-primary);
  box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.12);
}

.cicosy-pagination-post-link {
  min-width: 154px;
  height: var(--cicosy-button-height);
  border: 1px solid #46577b;
  background: #fff;
  color: #4f5d75;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 14px;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.cicosy-pagination-post-link:hover {
  background: var(--pagination-heading);
  color: #fff;
  border-color: var(--pagination-heading);
}

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

  .pagination-card--full {
    grid-column: auto;
  }

  .pagination-shell--tall > .cicosy-card-shell-body {
    min-height: auto;
  }

  .pagination-card-body--tall {
    min-height: auto;
  }

  .pagination-table-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .pagination-table-pagination-area {
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

@media (max-width: 575.98px) {
  .pagination-section {
    margin-top: 24px;
  }

  .pagination-section-title {
    font-size: 18px;
  }

  .pagination-grid {
    gap: 16px;
  }

  .pagination-card-header {
    padding: 12px 16px;
    align-items: center;
    flex-direction: row;
    gap: 8px;
  }

  .pagination-card-title {
    font-size: 16px;
    white-space: nowrap;
  }

  .pagination-card-description {
    text-align: right;
    white-space: nowrap;
    font-size: 12.5px;
  }

  .pagination-card-body {
    padding: 16px;
  }

  .cicosy-pagination-link,
  .cicosy-pagination-ellipsis {
    min-width: 34px;
    height: 34px;
    font-size: 13px;
  }

  .cicosy-pagination--large .cicosy-pagination-link,
  .cicosy-pagination--large .cicosy-pagination-ellipsis,
  .cicosy-pagination--lg .cicosy-pagination-link,
  .cicosy-pagination--lg .cicosy-pagination-ellipsis {
    min-width: var(--cicosy-button-height-lg);
    height: var(--cicosy-button-height-lg);
  }

  .pagination-info-row,
  .pagination-table-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .pagination-post-nav,
  .pagination-jump-row {
    align-items: center;
    flex-direction: row;
  }

  .pagination-post-nav {
    gap: 12px;
  }

  .pagination-jump-row {
    flex-wrap: nowrap;
    gap: 10px;
  }

  .pagination-table-pagination-area {
    flex-wrap: wrap;
  }

  .cicosy-pagination-nav--center .cicosy-pagination,
  .cicosy-pagination-nav--end .cicosy-pagination {
    justify-content: flex-start;
  }

  .pagination-post-nav .cicosy-pagination-post-link {
    min-width: 126px;
    width: auto;
    height: 38px;
    padding: 0 12px;
    font-size: 14px;
  }

  .pagination-jump-row .cicosy-pagination {
    flex-wrap: nowrap;
  }

  .pagination-jump-row .cicosy-pagination-link {
    min-width: 30px;
    height: 34px;
    padding: 0 8px;
  }

  .pagination-jump-row .cicosy-pagination-link--icon {
    width: 30px;
    padding: 0;
  }

  .pagination-jump-row .cicosy-pagination-jump-control {
    gap: 6px;
    font-size: 14px;
    white-space: nowrap;
  }

  .pagination-jump-row .cicosy-pagination-jump-control input {
    width: 58px;
    height: 34px;
    padding: 0 10px;
  }

  .pagination-table-pagination-area {
    justify-content: flex-start;
  }

  .cicosy-pagination-result-info {
    font-size: 14px;
  }

  .cicosy-pagination-entries-control,
  .cicosy-pagination-jump-control {
    white-space: normal;
  }
}

@media (max-width: 374.98px) {
  .pagination-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .pagination-card-description {
    text-align: left;
    white-space: normal;
  }

  .pagination-post-nav,
  .pagination-jump-row {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .pagination-post-nav .cicosy-pagination-post-link {
    width: 100%;
  }
}
/* End pagination component fragments */

/* Popovers component fragments */
.popovers-showcase,
.cicosy-popover-wrap,
.cicosy-popover-button,
.cicosy-popover-input,
.cicosy-popover-badge,
.cicosy-popover-mention {
  --popovers-primary: #1b5e20;
  --popovers-heading: #1b5e20;
  --popovers-text: #263b5e;
  --popovers-muted: #5f6f8f;
  --popovers-danger: #e94b64;
  --popovers-warning: #f0a000;
  --popovers-slate: #68758e;
  --popovers-border: #d5dfff;
  --popovers-soft-border: #e5ebff;
  --popovers-soft: #f3f6ff;
  --popovers-table-head: #edf7ee;
  --popovers-shadow: 0 10px 28px rgba(1, 41, 112, 0.08);
  --popovers-panel-shadow: 0 14px 34px rgba(1, 41, 112, 0.14);
}

.popovers-showcase {
  color: var(--popovers-text);
}

.popovers-section {
  margin-top: 28px;
}

.popovers-section:first-of-type {
  margin-top: 0;
}

.popovers-section-title {
  margin: 0 0 14px;
  color: var(--popovers-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
}

.popovers-showcase .cicosy-card-grid {
  gap: 20px;
  overflow: visible;
}

.popovers-showcase .cicosy-card-frame,
.popovers-showcase .cicosy-card-shell,
.popovers-showcase .cicosy-card-shell-body {
  overflow: visible;
}

.popovers-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: var(--popovers-border);
  --cicosy-card-shell-heading: var(--popovers-heading);
  --cicosy-card-shell-muted: var(--popovers-muted);
}

.popovers-shell--visible {
  position: relative;
  overflow: visible;
}

.popovers-shell--visible > .cicosy-card-shell-body {
  position: relative;
  overflow: visible;
}

.popovers-shell--center > .cicosy-card-shell-body {
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.popovers-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.popovers-card {
  position: relative;
  min-width: 0;
  overflow: visible;
  background: #fff;
  border: 1px solid var(--popovers-border);
  border-radius: 4px;
  box-shadow: var(--popovers-shadow);
}

.popovers-card--full {
  grid-column: 1 / -1;
}

.popovers-card-header {
  min-height: 52px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--popovers-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.popovers-card-title {
  margin: 0;
  color: var(--popovers-heading);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
}

.popovers-card-description {
  margin: 0;
  color: var(--popovers-muted);
  font-size: 13px;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
}

.popovers-card-body {
  position: relative;
  min-height: 80px;
  padding: 20px;
  overflow: visible;
}

.popovers-card-body--center {
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.popovers-placement-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  min-height: var(--cicosy-button-height);
  overflow: visible;
}

.cicosy-popover-button {
  min-height: var(--cicosy-button-height);
  padding: 0 var(--cicosy-button-padding-x);
  border: 0;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.cicosy-popover-button:hover:not(:disabled),
.cicosy-popover-button:focus-visible {
  transform: translateY(-1px);
  filter: brightness(0.96);
}

.cicosy-popover-button:focus-visible,
.cicosy-popover-help-icon:focus-visible,
.cicosy-popover-mention:focus-visible,
.cicosy-popover-badge:focus-visible,
.cicosy-popover-input:focus-visible {
  outline: 3px solid rgba(27, 94, 32, 0.18);
  outline-offset: 2px;
}

.cicosy-popover-button--primary {
  background: var(--popovers-primary);
}

.cicosy-popover-button--danger {
  background: var(--popovers-danger);
}

.cicosy-popover-button--warning {
  background: var(--popovers-warning);
  color: #10294f;
}

.cicosy-popover-button--slate {
  background: var(--popovers-slate);
}

.cicosy-popover-button--disabled {
  background: #7fb3ff;
  opacity: 0.78;
  cursor: not-allowed;
}

.popovers-form .cicosy-popover-button--submit {
  align-self: flex-start;
  width: fit-content;
  min-width: 88px;
  padding: 0 20px;
}

.cicosy-popover-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: visible;
}

.cicosy-popover {
  position: absolute;
  z-index: 40;
  width: 276px;
  background: #fff;
  border: 1px solid var(--popovers-border);
  border-radius: 4px;
  box-shadow: var(--popovers-panel-shadow);
  color: #202b3d;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.cicosy-popover::before,
.cicosy-popover::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
}

.cicosy-popover-title {
  min-height: 38px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--popovers-soft);
  border-bottom: 1px solid var(--popovers-border);
  color: #364254;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

.cicosy-popover-body {
  display: block;
  padding: 16px;
  color: #2b313b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}

.cicosy-popover-body > * {
  display: block;
}

.cicosy-popover-body a {
  color: var(--popovers-primary);
  font-weight: 600;
  text-decoration: none;
}

.cicosy-popover-body a:hover {
  text-decoration: underline;
}

.cicosy-popover-wrap.is-open .cicosy-popover,
.cicosy-popover-wrap--hover:hover .cicosy-popover,
.cicosy-popover-wrap--focus:focus-within .cicosy-popover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.cicosy-popover--top {
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translate(-50%, 8px);
}

.cicosy-popover-wrap.is-open .cicosy-popover--top,
.cicosy-popover-wrap--hover:hover .cicosy-popover--top,
.cicosy-popover-wrap--focus:focus-within .cicosy-popover--top {
  transform: translate(-50%, 0);
}

.cicosy-popover--top::before {
  left: 50%;
  bottom: -9px;
  transform: translateX(-50%);
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 9px solid var(--popovers-border);
}

.cicosy-popover--top::after {
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #fff;
}

.cicosy-popover--bottom {
  left: 50%;
  top: calc(100% + 10px);
  transform: translate(-50%, -8px);
}

.cicosy-popover-wrap.is-open .cicosy-popover--bottom,
.cicosy-popover-wrap--hover:hover .cicosy-popover--bottom,
.cicosy-popover-wrap--focus:focus-within .cicosy-popover--bottom {
  transform: translate(-50%, 0);
}

.cicosy-popover--bottom::before {
  left: 50%;
  top: -9px;
  transform: translateX(-50%);
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid var(--popovers-border);
}

.cicosy-popover--bottom::after {
  left: 50%;
  top: -8px;
  transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid var(--popovers-soft);
}

.cicosy-popover--right {
  left: calc(100% + 10px);
  top: 50%;
  transform: translate(-8px, -50%);
}

.cicosy-popover-wrap.is-open .cicosy-popover--right,
.cicosy-popover-wrap--hover:hover .cicosy-popover--right,
.cicosy-popover-wrap--focus:focus-within .cicosy-popover--right {
  transform: translate(0, -50%);
}

.cicosy-popover--right::before {
  left: -9px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 9px solid var(--popovers-border);
}

.cicosy-popover--right::after {
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 8px solid var(--popovers-soft);
}

.cicosy-popover--left {
  right: calc(100% + 10px);
  top: 50%;
  transform: translate(8px, -50%);
}

.cicosy-popover-wrap.is-open .cicosy-popover--left,
.cicosy-popover-wrap--hover:hover .cicosy-popover--left,
.cicosy-popover-wrap--focus:focus-within .cicosy-popover--left {
  transform: translate(0, -50%);
}

.cicosy-popover--left::before {
  right: -9px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 9px solid var(--popovers-border);
}

.cicosy-popover--left::after {
  right: -8px;
  top: 50%;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 8px solid var(--popovers-soft);
}

.popovers-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.popovers-field-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.popovers-field-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin: 0;
  color: var(--popovers-heading);
  font-size: 14px;
  font-weight: 700;
}

.cicosy-popover-help-icon {
  width: 15px;
  height: 15px;
  border: 1px solid #8291b3;
  border-radius: 50%;
  color: #5f6f8f;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: help;
}

.cicosy-popover-input {
  width: 100%;
  height: 25px;
  padding: 4px 10px;
  border: 1px solid var(--popovers-border);
  border-radius: 4px;
  background: #fff;
  color: var(--popovers-heading);
  font-family: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cicosy-popover-input::placeholder {
  color: #9aa7c0;
}

.cicosy-popover-input:focus {
  border-color: var(--popovers-primary);
  box-shadow: 0 0 0 3px rgba(27, 94, 32, 0.12);
}

.popovers-metric-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.popovers-metric-card {
  min-height: 84px;
  padding: 16px;
  border: 1px solid #d8dfef;
  border-radius: 4px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.popovers-metric-title {
  margin: 0;
  color: var(--popovers-heading);
  font-size: 17px;
  font-weight: 700;
}

.popovers-metric-value {
  margin: 2px 0 0;
  color: var(--popovers-heading);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

.cicosy-popover-badge {
  min-height: 18px;
  padding: 2px 7px;
  border-radius: 4px;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
  cursor: default;
}

.cicosy-popover-badge--success {
  background: #16a765;
}

.cicosy-popover-badge--blue {
  background: #2d7be8;
}

.cicosy-popover-badge--warning {
  background: #ffb300;
  color: #10213f;
}

.cicosy-popover-badge--danger {
  background: var(--popovers-danger);
}

.popovers-muted-line {
  display: block;
  margin-top: 4px;
  color: var(--popovers-muted);
}

.popovers-mention-text {
  min-height: 184px;
  padding-top: 2px;
  color: #1d2b44;
  font-size: 15px;
}

.popovers-mention-text p {
  margin: 0;
}

.popovers-mention-text p + p {
  margin-top: 20px;
}

.cicosy-popover-mention {
  color: var(--popovers-primary);
  font-weight: 600;
  cursor: pointer;
}

.cicosy-popover-profile {
  width: 188px;
  padding: 14px 16px;
}

.cicosy-popover-profile-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.cicosy-popover-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 28%, #ffe0d2 0 18%, transparent 19%),
    radial-gradient(circle at 50% 88%, #0aa49f 0 42%, transparent 43%),
    linear-gradient(135deg, #f7f8fb, #dbe5f8);
  border: 1px solid #e0e7f8;
}

.cicosy-popover-profile-name {
  display: block;
  color: #1f2d44;
  font-size: 14px;
  font-weight: 700;
}

.cicosy-popover-profile-role {
  display: block;
  color: var(--popovers-muted);
  font-size: 13px;
}

.cicosy-popover-profile-email {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #111827;
  font-size: 13px;
}

.popovers-table-scroll {
  width: 100%;
  overflow-x: auto;
}

.popovers-status-table {
  width: 100%;
  border-collapse: collapse;
}

.popovers-status-table thead {
  background: var(--popovers-table-head);
}

.popovers-status-table th {
  padding: 11px 10px;
  color: #4f607d;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  text-transform: uppercase;
  border-bottom: 1px solid var(--popovers-border);
}

.popovers-status-table td {
  padding: 10px;
  color: #1f2d44;
  border-bottom: 1px solid var(--popovers-soft-border);
  font-size: 14px;
}

.popovers-status-table tr:last-child td {
  border-bottom: 0;
}

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

  .popovers-card--full {
    grid-column: auto;
  }

  .popovers-card-body {
    min-height: auto;
  }

  .popovers-mention-text {
    min-height: 140px;
  }
}

@media (max-width: 575.98px) {
  .popovers-section {
    margin-top: 24px;
  }

  .popovers-section-title {
    font-size: 19px;
  }

  .popovers-grid {
    gap: 16px;
  }

  .popovers-card-header {
    padding: 12px 16px;
    gap: 8px;
  }

  .popovers-card-title {
    font-size: 16px;
    white-space: nowrap;
  }

  .popovers-card-description {
    font-size: 12.5px;
    white-space: nowrap;
  }

  .popovers-card-body {
    padding: 16px;
  }

  .popovers-card-body--center {
    justify-content: flex-start;
  }

  .popovers-shell--center > .cicosy-card-shell-body {
    justify-content: flex-start;
  }

  .popovers-placement-row {
    justify-content: flex-start;
  }

  .cicosy-popover-button {
    min-height: 38px;
    padding: 0 16px;
    font-size: 13px;
  }

  .cicosy-popover {
    width: min(276px, calc(100vw - 48px));
  }

  .cicosy-popover--left,
  .cicosy-popover--right,
  .cicosy-popover--top,
  .cicosy-popover--bottom {
    left: 50%;
    right: auto;
    top: calc(100% + 10px);
    bottom: auto;
    transform: translate(-50%, -8px);
  }

  .cicosy-popover-wrap.is-open .cicosy-popover--left,
  .cicosy-popover-wrap.is-open .cicosy-popover--right,
  .cicosy-popover-wrap.is-open .cicosy-popover--top,
  .cicosy-popover-wrap.is-open .cicosy-popover--bottom,
  .cicosy-popover-wrap--hover:hover .cicosy-popover--left,
  .cicosy-popover-wrap--hover:hover .cicosy-popover--right,
  .cicosy-popover-wrap--hover:hover .cicosy-popover--top,
  .cicosy-popover-wrap--hover:hover .cicosy-popover--bottom,
  .cicosy-popover-wrap--focus:focus-within .cicosy-popover--left,
  .cicosy-popover-wrap--focus:focus-within .cicosy-popover--right,
  .cicosy-popover-wrap--focus:focus-within .cicosy-popover--top,
  .cicosy-popover-wrap--focus:focus-within .cicosy-popover--bottom {
    transform: translate(-50%, 0);
  }

  .cicosy-popover--left::before,
  .cicosy-popover--right::before,
  .cicosy-popover--top::before,
  .cicosy-popover--bottom::before {
    left: 50%;
    right: auto;
    top: -9px;
    bottom: auto;
    transform: translateX(-50%);
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 9px solid var(--popovers-border);
    border-top: 0;
  }

  .cicosy-popover--left::after,
  .cicosy-popover--right::after,
  .cicosy-popover--top::after,
  .cicosy-popover--bottom::after {
    left: 50%;
    right: auto;
    top: -8px;
    bottom: auto;
    transform: translateX(-50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid var(--popovers-soft);
    border-top: 0;
  }

  .popovers-metric-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .popovers-status-table {
    min-width: 520px;
  }
}

@media (max-width: 374.98px) {
  .popovers-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .popovers-card-description {
    text-align: left;
    white-space: normal;
  }

  .cicosy-popover-button {
    max-width: 100%;
  }
}
/* End popovers component fragments */

/* Progress component fragments */
.progress-showcase,
.progress-card,
.progress-section-title,
.progress-stack,
.progress-label-row,
.progress-external-row,
.progress-stacked-demo,
.progress-legend,
.progress-legend-item,
.progress-group-row,
.progress-circles,
.progress-circle-wrap,
.progress-stepper,
.progress-upload-item,
.progress-project-list,
.progress-profile,
.progress-checklist,
.progress-storage,
.progress-storage-legend-item,
.progress-action-button,
.cicosy-progress,
.cicosy-progress-stacked,
.cicosy-progress-storage-bar {
  --progress-bg: #f4f7ff;
  --progress-card: #ffffff;
  --progress-heading: #1b5e20;
  --progress-text: #42526e;
  --progress-muted: #66799f;
  --progress-border: #d9e4ff;
  --progress-soft-border: #eef2fb;
  --progress-track: #f1faf2;
  --progress-primary: #1b5e20;
  --progress-success: #21a66f;
  --progress-warning: #f0a000;
  --progress-danger: #ef4f6f;
  --progress-info: #2f80ed;
  --progress-shadow: 0 6px 18px rgba(1, 41, 112, 0.08);
}

.progress-showcase {
  color: var(--progress-text);
  font-size: 14px;
}

.progress-section + .progress-section {
  margin-top: 28px;
}

.progress-showcase .cicosy-card-grid {
  gap: 20px;
}

.progress-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: var(--progress-border);
  --cicosy-card-shell-heading: var(--progress-heading);
  --cicosy-card-shell-muted: var(--progress-muted);
  box-shadow: var(--progress-shadow);
}

.progress-shell--scroll > .cicosy-card-shell-body {
  overflow-x: visible;
}

.progress-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.progress-card {
  min-width: 0;
  background: var(--progress-card);
  border: 1px solid var(--progress-border);
  border-radius: 4px;
  box-shadow: var(--progress-shadow);
  overflow: hidden;
}

.cicosy-progress--sm {
  height: 0.25rem;
}

.cicosy-progress--md {
  height: 0.5rem;
}

.cicosy-progress--lg {
  height: 0.75rem;
}

.cicosy-progress--xl {
  height: 1rem;
}

.progress-card--full {
  grid-column: 1 / -1;
}

.progress-card-header {
  min-height: 52px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--progress-border);
}

.progress-card-title {
  margin: 0;
  color: var(--progress-heading);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.progress-card-note {
  margin: 0;
  color: var(--progress-muted);
  font-size: 13px;
  font-weight: 500;
  text-align: right;
  line-height: 1.35;
}

.progress-card-body {
  padding: 20px;
}

.progress-section-title {
  margin: 28px 0 16px;
  color: var(--progress-heading);
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

.progress-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cicosy-progress,
.cicosy-progress-stacked,
.cicosy-progress-storage-bar {
  width: 100%;
  height: 8px;
  background: var(--progress-track);
  border-radius: 999px;
  overflow: hidden;
}

.cicosy-progress-bar,
.cicosy-progress-segment {
  height: 100%;
  border-radius: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  min-width: 0;
}

.cicosy-progress-bar {
  transition: width 600ms ease;
}

@media (prefers-reduced-motion: reduce) {
  .cicosy-progress-bar {
    transition: none;
  }
}

.cicosy-progress-stacked,
.cicosy-progress-storage-bar {
  display: flex;
}

.cicosy-progress-segment {
  border-radius: 0;
  font-size: 10px;
}

.cicosy-progress-bar--primary,
.cicosy-progress-segment--primary,
.progress-tone--primary {
  background: var(--progress-primary);
}

.cicosy-progress-bar--success,
.cicosy-progress-segment--success,
.progress-tone--success {
  background: var(--progress-success);
}

.cicosy-progress-bar--warning,
.cicosy-progress-segment--warning,
.progress-tone--warning {
  background: var(--progress-warning);
}

.cicosy-progress-bar--danger,
.cicosy-progress-segment--danger,
.progress-tone--danger {
  background: var(--progress-danger);
}

.cicosy-progress-bar--info,
.cicosy-progress-segment--info,
.progress-tone--info {
  background: var(--progress-info);
}

.cicosy-progress-bar--striped {
  background-image: linear-gradient(
    45deg,
    rgba(255, 255, 255, 0.18) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.18) 50%,
    rgba(255, 255, 255, 0.18) 75%,
    transparent 75%,
    transparent
  );
  background-size: 18px 18px;
}

.cicosy-progress-bar--animated {
  animation: cicosyProgressStripe 0.8s linear infinite;
}

@keyframes cicosyProgressStripe {
  from { background-position: 0 0; }
  to { background-position: 18px 0; }
}

.progress-label-row,
.progress-group-row {
  margin-bottom: 14px;
}

.progress-label-row:last-child,
.progress-group-row:last-child {
  margin-bottom: 0;
}

.progress-size-label {
  display: block;
  margin-bottom: 8px;
  color: #5c6d8e;
  font-size: 14px;
}

.progress-external-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: center;
  gap: 16px;
  margin-bottom: 31px;
}

.progress-external-row:last-child {
  margin-bottom: 0;
}

.progress-external-value {
  color: var(--progress-heading);
  font-weight: 700;
  text-align: right;
}

.progress-stacked-demo {
  margin-bottom: 28px;
}

.progress-stacked-demo:last-child {
  margin-bottom: 0;
}

.progress-demo-title {
  margin: 0 0 12px;
  color: #52627f;
  font-size: 15px;
  font-weight: 500;
}

.progress-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 12px;
}

.progress-legend-item,
.progress-storage-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #25304d;
  font-size: 14px;
}

.progress-legend-dot {
  width: 16px;
  height: 18px;
  border-radius: 4px;
  flex-shrink: 0;
}

.progress-group-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: #283855;
  font-size: 15px;
}

.progress-group-top strong {
  color: var(--progress-heading);
  font-weight: 700;
}

.progress-circles {
  min-height: 206px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  text-align: center;
  gap: 20px;
}

.progress-circle-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.progress-circle {
  --value: 70;
  --color: var(--progress-primary);
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, #fff 56%, transparent 57%),
    conic-gradient(var(--color) calc(var(--value) * 1%), #f2f5fb 0);
  position: relative;
}

.progress-circle--small {
  width: 58px;
  height: 58px;
}

.progress-circle::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: #fff;
  z-index: 0;
}

.progress-circle--small::after {
  inset: 6px;
}

.progress-circle-value {
  position: relative;
  z-index: 2;
  color: var(--progress-heading);
  font-size: 24px;
  font-weight: 700;
}

.progress-circle--small .progress-circle-value {
  font-size: 16px;
}

.progress-circle-label {
  color: #5a6988;
  font-size: 14px;
}

.progress-stepper {
  --fill: 0%;
  position: relative;
  display: grid;
  gap: 22px;
  margin-bottom: 54px;
}

.progress-stepper:last-child {
  margin-bottom: 0;
  padding-top: 32px;
  border-top: 1px solid var(--progress-soft-border);
}

.progress-step-line {
  position: absolute;
  left: 18px;
  right: 18px;
  top: 17px;
  height: 4px;
  background: #dfe7ff;
  border-radius: 999px;
  overflow: hidden;
  z-index: 0;
  box-shadow: inset 0 1px 2px rgba(1, 41, 112, 0.06);
}

.progress-stepper:last-child .progress-step-line {
  top: 49px;
}

.progress-step-line::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--fill);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--progress-success) 0%, var(--progress-success) 45%, var(--progress-primary) 100%);
}

.progress-steps {
  display: grid;
  position: relative;
  z-index: 2;
}

.progress-steps--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.progress-steps--five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.progress-steps--six {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.progress-step {
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #52627f;
  font-size: 13px;
  line-height: 1.2;
}

.progress-step--center { align-items: center; text-align: center; }
.progress-step--left { align-items: flex-start; text-align: left; }
.progress-step--right { align-items: flex-end; text-align: right; }

.progress-step-marker {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 14px;
  background: #fff;
  color: #9aaad1;
  border: 2px solid #d7e1ff;
  position: relative;
  z-index: 3;
  box-shadow: 0 0 0 8px #fff, 0 6px 14px rgba(1, 41, 112, 0.10);
}

.progress-step-marker--done {
  background: var(--progress-success);
  border-color: var(--progress-success);
  color: #fff;
  box-shadow: 0 0 0 8px #fff, 0 6px 14px rgba(33, 166, 111, 0.22);
}

.progress-step-marker--active {
  background: var(--progress-primary);
  border-color: var(--progress-primary);
  color: #fff;
  box-shadow: 0 0 0 8px #fff, 0 6px 16px rgba(27, 94, 32, 0.28);
  transform: scale(1.04);
}

.progress-step-title--active {
  color: var(--progress-heading);
  font-weight: 700;
}

.progress-step--meta {
  gap: 6px;
}

.progress-step-copy {
  display: grid;
  gap: 1px;
  justify-items: inherit;
  min-width: 0;
}

.progress-step-meta {
  color: var(--progress-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.15;
}

.progress-step-meta--done {
  color: var(--progress-success);
}

.progress-step-meta--active {
  color: var(--progress-success);
}

.progress-close-process {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0.15rem 0 0;
}

.progress-close-process-title {
  margin: 0 0 0.55rem;
  color: var(--progress-heading);
  font-family: var(--cicosy-font-heading, var(--cicosy-font-display));
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
}

.progress-close-process .progress-stepper {
  gap: 7px;
  margin-bottom: 0;
}

.progress-close-process .progress-stepper:last-child {
  margin-bottom: 0;
  padding-top: 0;
  border-top: 0;
}

.progress-close-process .progress-step-line,
.progress-close-process .progress-stepper:last-child .progress-step-line {
  left: calc(100% / 12);
  right: calc(100% / 12);
  top: 10px;
  height: 1px;
  background: #d8e1ec;
  border-radius: 0;
  box-shadow: none;
}

.progress-close-process .progress-step-line::after {
  display: none;
}

.progress-close-process .progress-step {
  gap: 5px;
  color: var(--progress-heading);
  font-size: 0.72rem;
  line-height: 1.12;
}

.progress-close-process .progress-step-marker {
  display: inline-grid;
  place-items: center;
  width: 1.25rem;
  height: 1.25rem;
  color: #7d8ca3;
  background: #fff;
  border: 1px solid #d7e0ea;
  box-shadow: 0 0 0 3px #fff;
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1;
}

.progress-close-process .progress-step-marker i {
  display: grid;
  place-items: center;
  width: 0.72rem;
  height: 0.72rem;
  color: currentColor !important;
  font-size: 0.72rem;
  line-height: 1;
}

.progress-close-process .progress-step-marker i::before {
  display: block;
  line-height: 1;
  vertical-align: 0 !important;
}

.progress-close-process .progress-step-marker--done i {
  color: #fff !important;
}

.progress-close-process .progress-step-marker--done {
  color: #fff;
  background: var(--progress-success);
  border-color: var(--progress-success);
  box-shadow: 0 0 0 3px #fff;
}

.progress-close-process .progress-step-marker--active {
  color: var(--progress-success);
  background: #fff;
  border-color: var(--progress-success);
  box-shadow: 0 0 0 3px #fff;
  transform: none;
}

.progress-close-process .progress-step-title {
  color: var(--progress-heading);
  font-weight: 700;
}

.progress-close-process .progress-step-title--active {
  color: var(--progress-heading);
}

.progress-close-process .progress-step-meta {
  font-size: 0.62rem;
}

.accounting-compliance-card {
  width: 100%;
  min-width: 0;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-body);
}

.accounting-compliance-card h2 {
  margin: 0 0 0.38rem;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  line-height: var(--cicosy-line-tight);
  font-weight: 700;
}

.accounting-compliance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.75rem;
  row-gap: 0.74rem;
}

.accounting-compliance-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 0.9rem minmax(0, 1fr);
  gap: 0.43rem;
  align-items: start;
}

.accounting-compliance-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.9rem;
  height: 0.9rem;
  padding-top: 0.08rem;
  color: var(--cicosy-dashboard-primary);
  font-size: var(--cicosy-text-sm);
  line-height: 1;
}

.accounting-compliance-icon i {
  display: block;
  color: currentColor;
  font-size: 0.78rem;
  line-height: 1;
}

.accounting-compliance-copy {
  min-width: 0;
  display: block;
}

.accounting-compliance-label,
.accounting-compliance-status {
  display: block;
  overflow-wrap: anywhere;
}

.accounting-compliance-label {
  color: var(--cicosy-text-strong);
  font-size: var(--cicosy-text-base);
  line-height: 1.08;
  font-weight: 700;
}

.accounting-compliance-status {
  margin-top: 0.05rem;
  color: var(--cicosy-dashboard-primary);
  font-size: var(--cicosy-text-2xs);
  line-height: 1.12;
  font-weight: 500;
}

.accounting-compliance-empty {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--cicosy-text-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-normal);
}

.accounting-compliance-item.is-disabled .accounting-compliance-icon,
.accounting-compliance-item.is-disabled .accounting-compliance-status {
  color: #d92d20;
}

@media (max-width: 575.98px) {
  .accounting-compliance-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.progress-upload-list,
.progress-project-list {
  display: grid;
  gap: 16px;
}

.progress-upload-item {
  background: #f4f7ff;
  border-radius: 4px;
  padding: 18px 16px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.progress-upload-icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  font-size: 22px;
}

.progress-upload-content {
  min-width: 0;
}

.progress-upload-head,
.progress-project-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
  color: #15213d;
  font-size: 14px;
  font-weight: 600;
}

.progress-upload-head span:first-child,
.progress-project-name span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.progress-upload-meta {
  margin-top: 6px;
  color: var(--progress-muted);
  font-size: 14px;
}

.progress-upload-status,
.progress-status-badge {
  font-weight: 700;
  white-space: nowrap;
}

.progress-upload-status--success { color: var(--progress-success); }
.progress-upload-status--primary { color: var(--progress-primary); }
.progress-upload-status--muted { color: var(--progress-muted); }

.progress-profile,
.progress-storage {
  text-align: center;
}

.progress-profile .progress-circle-wrap {
  margin-bottom: 28px;
}

.progress-profile .progress-circle {
  width: 112px;
  height: 112px;
}

.progress-profile-text {
  margin: 0 0 28px;
  color: #5c6d8e;
  font-size: 16px;
}

.progress-profile-text strong {
  color: var(--progress-heading);
  font-weight: 700;
}

.progress-checklist {
  border-top: 1px solid #dde5f2;
  padding-top: 18px;
  text-align: left;
  display: grid;
  gap: 13px;
}

.progress-check-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #24304a;
  font-size: 14px;
}

.progress-check,
.progress-empty-check {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  flex-shrink: 0;
}

.progress-check {
  display: grid;
  place-items: center;
  background: var(--progress-success);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
}

.progress-empty-check {
  border: 1.5px solid #7b8aa6;
}

.progress-project-name {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #25304d;
  font-size: 15px;
  font-weight: 500;
}

.progress-status-badge {
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 12px;
}

.progress-status-badge--success {
  background: #dff8eb;
  color: var(--progress-success);
}

.progress-status-badge--warning {
  background: #fff2cc;
  color: var(--progress-warning);
}

.progress-status-badge--primary {
  background: #ebedff;
  color: var(--progress-primary);
}

.progress-status-badge--danger {
  background: #ffe6ec;
  color: var(--progress-danger);
}

.progress-storage-number {
  margin-bottom: 4px;
  color: var(--progress-heading);
  font-size: 34px;
  font-weight: 700;
  line-height: 1.1;
}

.progress-storage-sub {
  margin-bottom: 24px;
  color: #5c6d8e;
  font-size: 16px;
}

.cicosy-progress-storage-bar {
  height: 12px;
  margin-bottom: 26px;
}

.progress-storage-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 80px;
  text-align: left;
  max-width: 560px;
  margin: 0 auto 22px;
}

.progress-storage-legend-item {
  align-items: flex-start;
  font-size: 15px;
  line-height: 1.4;
}

.progress-storage-legend-item strong {
  display: block;
  color: #1d2a43;
  font-weight: 700;
}

.progress-action-button {
  min-height: 38px;
  padding: 8px 24px;
  border-radius: 4px;
  border: 1px solid var(--progress-primary);
  background: transparent;
  color: var(--progress-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.progress-action-button:hover,
.progress-action-button:focus {
  background: var(--progress-primary);
  color: #fff;
  transform: translateY(-1px);
}

.progress-tone-text--primary { color: var(--progress-primary); }
.progress-tone-text--success { color: var(--progress-success); }
.progress-tone-text--warning { color: var(--progress-warning); }
.progress-tone-text--danger { color: var(--progress-danger); }
.progress-tone-text--info { color: var(--progress-info); }

@media (max-width: 1100px) {
  .progress-showcase .cicosy-card-grid--2 {
    grid-template-columns: 1fr;
  }

  .progress-grid {
    grid-template-columns: 1fr;
  }

  .progress-circles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .progress-showcase .cicosy-card-shell-body {
    padding: 18px 16px;
  }

  .progress-card-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .progress-card-note {
    text-align: left;
  }

  .progress-circles {
    grid-template-columns: 1fr;
  }

  .progress-card-body {
    padding: 18px 16px;
  }

  .progress-stepper {
    margin-bottom: 48px;
  }

  .progress-step-line {
    left: 17px;
    right: 17px;
    top: 17px;
    height: 3px;
  }

  .progress-stepper:last-child .progress-step-line {
    top: 47px;
  }

  .progress-step {
    font-size: 12.5px;
    gap: 8px;
  }

  .progress-step-marker {
    box-shadow: 0 0 0 6px #fff, 0 5px 12px rgba(1, 41, 112, 0.10);
  }

  .progress-step-marker--done {
    box-shadow: 0 0 0 6px #fff, 0 5px 12px rgba(33, 166, 111, 0.22);
  }

  .progress-step-marker--active {
    box-shadow: 0 0 0 6px #fff, 0 5px 14px rgba(27, 94, 32, 0.28);
  }

  .progress-storage-legend {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .progress-upload-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
}

@media (max-width: 560px) {
  .progress-section-title {
    font-size: 19px;
  }

  .progress-showcase .cicosy-card-shell-title {
    font-size: 16px;
  }

  .progress-card-title {
    font-size: 16px;
  }

  .progress-card-body {
    padding: 16px;
  }

  .progress-external-row {
    grid-template-columns: minmax(0, 1fr) 38px;
    gap: 10px;
  }

  .progress-legend {
    gap: 12px;
  }

  .progress-step-line {
    left: 15px;
    right: 15px;
    top: 15px;
  }

  .progress-stepper:last-child .progress-step-line {
    top: 45px;
  }

  .progress-step-marker {
    width: 30px;
    height: 30px;
    font-size: 13px;
    box-shadow: 0 0 0 5px #fff, 0 4px 10px rgba(1, 41, 112, 0.10);
  }

  .progress-step-marker--done {
    box-shadow: 0 0 0 5px #fff, 0 4px 10px rgba(33, 166, 111, 0.22);
  }

  .progress-step-marker--active {
    box-shadow: 0 0 0 5px #fff, 0 4px 12px rgba(27, 94, 32, 0.28);
  }

  .progress-step {
    font-size: 12px;
    line-height: 1.15;
    gap: 7px;
  }

  .progress-steps--four,
  .progress-steps--five {
    column-gap: 0;
  }
}

@media (max-width: 420px) {
  .progress-showcase .cicosy-card-shell-body {
    padding-left: 12px;
    padding-right: 12px;
  }

  .progress-card-body {
    padding-left: 12px;
    padding-right: 12px;
  }

  .progress-step-line {
    left: 13px;
    right: 13px;
    top: 14px;
  }

  .progress-stepper:last-child .progress-step-line {
    top: 44px;
  }

  .progress-step-marker {
    width: 28px;
    height: 28px;
    font-size: 12px;
    border-width: 2px;
    box-shadow: 0 0 0 4px #fff, 0 4px 10px rgba(1, 41, 112, 0.10);
  }

  .progress-step-marker--done {
    box-shadow: 0 0 0 4px #fff, 0 4px 10px rgba(33, 166, 111, 0.22);
  }

  .progress-step-marker--active {
    box-shadow: 0 0 0 4px #fff, 0 4px 12px rgba(27, 94, 32, 0.28);
  }

  .progress-step {
    font-size: 11px;
  }
}

@media (max-width: 350px) {
  .progress-shell--scroll > .cicosy-card-shell-body {
    overflow-x: auto;
  }

  .progress-shell--scroll .progress-stepper {
    min-width: 340px;
  }

  .progress-card--full .progress-card-body {
    overflow-x: auto;
  }

  .progress-card--full .progress-stepper {
    min-width: 340px;
  }
}
/* End progress component fragments */

/* Spinners component fragments */
:root {
  --cicosy-spinner-primary: #1b5e20;
  --cicosy-spinner-secondary: #899bbd;
  --cicosy-spinner-success: #23aa73;
  --cicosy-spinner-danger: #ef4f6f;
  --cicosy-spinner-warning: #f1a000;
  --cicosy-spinner-info: #2d8eea;
  --cicosy-spinner-dark: #29343d;
  --cicosy-spinner-heading: #1b5e20;
  --cicosy-spinner-text: #3f4652;
  --cicosy-spinner-muted: #69768f;
  --cicosy-spinner-border: #cfe8d2;
  --cicosy-spinner-soft-border: #ecf0f8;
  --cicosy-spinner-shadow: 0 7px 20px rgba(1, 41, 112, 0.055);
}

.spinners-showcase {
  color: var(--cicosy-spinner-text);
  font-size: 14px;
}

.spinners-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.spinners-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: var(--cicosy-spinner-border);
  --cicosy-card-shell-heading: var(--cicosy-spinner-heading);
  --cicosy-card-shell-muted: var(--cicosy-spinner-muted);
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: var(--cicosy-spinner-shadow);
}

.spinners-showcase .cicosy-card-shell > .cicosy-card-shell-body {
  flex: 1 1 auto;
}

.spinners-section-title {
  margin: 28px 0 16px;
  color: var(--cicosy-spinner-heading);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
}

.spinners-basic-body {
  min-height: 78px;
  display: flex;
  align-items: center;
}

.spinners-row-wrap,
.spinners-button-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.spinners-row-wrap {
  gap: 18px;
}

.spinners-button-row {
  gap: 8px;
}

.spinners-sizes-row {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 26px;
}

.spinners-size-example {
  min-width: 52px;
  display: grid;
  justify-items: center;
  gap: 7px;
  color: #66728b;
}

.spinners-button-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.spinner-border.cicosy-spinner {
  width: 32px;
  height: 32px;
  border-width: 3px;
  color: var(--cicosy-spinner-primary);
}

.spinner-grow.cicosy-spinner {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: currentColor;
  color: #6c757d;
  animation: cicosy-spinner-grow 0.85s ease-in-out infinite;
  vertical-align: middle;
}

.spinner-border.cicosy-spinner--sm {
  width: 16px;
  height: 16px;
  border-width: 3px;
}

.spinner-grow.cicosy-spinner--sm {
  width: 12px;
  height: 12px;
}

.spinner-border.cicosy-spinner.spinner-border-sm {
  width: 16px;
  height: 16px;
  border-width: 3px;
}

.spinner-grow.cicosy-spinner.spinner-grow-sm {
  width: 12px;
  height: 12px;
}

.spinner-border.cicosy-spinner--lg {
  width: 48px;
  height: 48px;
}

.spinner-grow.cicosy-spinner--lg {
  width: 34px;
  height: 34px;
}

.spinner-border.cicosy-spinner--xl {
  width: 64px;
  height: 64px;
}

.spinner-grow.cicosy-spinner--xl {
  width: 46px;
  height: 46px;
}

.spinner-border.cicosy-spinner--button {
  width: 14px;
  height: 14px;
  border-width: 2px;
}

.spinner-grow.cicosy-spinner--button {
  width: 15px;
  height: 15px;
}

.cicosy-spinner.text-primary,
.cicosy-spinner-dot.text-primary { color: var(--cicosy-spinner-primary) !important; }

.cicosy-spinner.text-secondary,
.cicosy-spinner-dot.text-secondary { color: var(--cicosy-spinner-secondary) !important; }

.cicosy-spinner.text-success,
.cicosy-spinner-dot.text-success { color: var(--cicosy-spinner-success) !important; }

.cicosy-spinner.text-danger,
.cicosy-spinner-dot.text-danger { color: var(--cicosy-spinner-danger) !important; }

.cicosy-spinner.text-warning,
.cicosy-spinner-dot.text-warning { color: var(--cicosy-spinner-warning) !important; }

.cicosy-spinner.text-info,
.cicosy-spinner-dot.text-info { color: var(--cicosy-spinner-info) !important; }

.cicosy-spinner.text-light,
.cicosy-spinner-dot.text-light { color: #f4fbf5 !important; }

.cicosy-spinner.text-dark,
.cicosy-spinner-dot.text-dark { color: var(--cicosy-spinner-dark) !important; }

.cicosy-spinner-button {
  min-height: var(--cicosy-button-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--cicosy-button-gap);
  padding: 0 22px;
  border-radius: 4px;
  border: 1px solid transparent;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.cicosy-spinner-button:hover,
.cicosy-spinner-button:focus {
  transform: translateY(-1px);
  filter: brightness(0.985);
}

.cicosy-spinner-button--icon {
  width: 58px;
  padding-inline: 0;
}

.cicosy-spinner-button.disabled,
.cicosy-spinner-button:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
}

.cicosy-spinner-state {
  min-width: 0;
}

.cicosy-spinner-button--primary { background: #79adff; color: #ffffff; border-color: #79adff; }
.cicosy-spinner-button--success { background: #80c3a7; color: #ffffff; border-color: #80c3a7; }
.cicosy-spinner-button--danger { background: #ed8d9b; color: #ffffff; border-color: #ed8d9b; }
.cicosy-spinner-button--warning { background: #ffdb75; color: #111827; border-color: #ffdb75; }
.cicosy-spinner-button--info { background: #78d6e8; color: #263540; border-color: #78d6e8; }
.cicosy-spinner-button--secondary { background: #b5bac0; color: #ffffff; border-color: #b5bac0; }

.cicosy-spinner-button--outline-primary {
  background: #ffffff;
  border-color: #72a4ff;
  color: #72a4ff;
}

.cicosy-spinner-button--outline-success {
  background: #ffffff;
  border-color: #79cbb0;
  color: #49a783;
}

.cicosy-spinner-button--outline-info {
  background: #ffffff;
  border-color: #7edfff;
  color: #2d9fc3;
}

.cicosy-spinner-button--outline-muted {
  background: #ffffff;
  border-color: #adb5bd;
  color: #778291;
}

.spinners-alignment-canvas {
  height: 181px;
  position: relative;
}

.spinners-a-left,
.spinners-a-center,
.spinners-a-right-top,
.spinners-a-right-bottom {
  position: absolute;
}

.spinners-a-left {
  left: 6px;
  top: 76px;
}

.spinners-a-center {
  left: 50%;
  top: 20px;
  transform: translateX(-50%);
}

.spinners-a-right-top {
  right: 10px;
  top: 78px;
}

.spinners-a-right-bottom {
  right: 8px;
  bottom: 20px;
}

.spinners-text-align-demo {
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
}

.spinners-align-line {
  display: flex;
  align-items: center;
  gap: 12px;
}

.spinners-align-left { justify-content: flex-start; }
.spinners-align-center { justify-content: center; }
.spinners-align-right { justify-content: flex-end; }

.cicosy-loading-card {
  position: relative;
  min-height: 198px;
  border: 1px solid var(--cicosy-spinner-soft-border);
  border-radius: 3px;
  padding: 25px;
  overflow: hidden;
}

.cicosy-loading-card h4 {
  margin: 0 0 10px;
  color: #b9c5db;
  font-size: 16px;
  font-weight: 700;
}

.cicosy-loading-card p {
  margin: 0;
  color: #ced5e2;
}

.cicosy-spinner-loading-center {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #66728b;
  text-align: center;
}

.cicosy-spinner-loading-center-inner {
  display: grid;
  justify-items: center;
  gap: 10px;
  color: #66728b;
  text-align: center;
}

.cicosy-loading-table {
  min-height: 198px;
  position: relative;
}

.cicosy-loading-table-shell {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.cicosy-loading-table-shell thead {
  background: #edf7ee;
  color: #66728b;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.cicosy-loading-table-shell th {
  padding: 11px 8px;
  text-align: left;
  font-weight: 700;
}

.cicosy-loading-table-loader {
  min-height: 151px;
  display: grid;
  place-items: center;
  color: #66728b;
}

.cicosy-loading-table-loader > span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.cicosy-page-overlay-demo {
  min-height: 252px;
  display: grid;
  place-items: center;
  border-radius: 4px;
  background: #f1f4fc;
  color: var(--cicosy-spinner-text);
  text-align: center;
}

.cicosy-page-overlay-demo h4 {
  margin: 9px 0 2px;
  color: #303946;
  font-size: 15px;
  font-weight: 700;
}

.cicosy-page-overlay-demo p {
  margin: 0;
  color: #66728b;
}

.cicosy-spinner-inline-list {
  border: 1px solid var(--cicosy-spinner-border);
  border-radius: 4px;
  overflow: hidden;
}

.cicosy-spinner-inline-item {
  min-height: 53px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--cicosy-spinner-border);
  color: #111827;
}

.cicosy-spinner-inline-item:last-child {
  border-bottom: 0;
}

.cicosy-spinner-status-badge {
  min-height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 7px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}

.cicosy-spinner-status-badge--success {
  background: #17a673;
}

.cicosy-spinner-form-demo label {
  display: block;
  margin-bottom: 9px;
  color: var(--cicosy-spinner-heading);
  font-size: 14px;
  font-weight: 500;
}

.cicosy-spinner-form-demo input {
  width: 100%;
  height: 42px;
  margin-bottom: 17px;
  border: 1px solid #dfe7fb;
  border-radius: 4px;
  background: #f8fcf8;
  padding: 0 15px;
  color: #748096;
  font: inherit;
}

.cicosy-multiple-spinner-demo {
  min-height: 206px;
  display: grid;
  place-items: center;
  gap: 12px;
  color: #66728b;
  text-align: center;
}

.cicosy-spinner-dot-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 7px;
}

.cicosy-spinner-dot {
  width: 14px;
  height: 14px;
  display: inline-block;
  border-radius: 50%;
  background: currentColor;
}

.cicosy-spinner-dot--small {
  width: 8px;
  height: 8px;
  opacity: 0.45;
}

.cicosy-spinner-dot--tiny {
  width: 4px;
  height: 4px;
  opacity: 0.18;
}

.cicosy-spinner-dot--bounce {
  animation: cicosy-spinner-bounce 0.9s ease-in-out infinite;
}

.cicosy-spinner-dot--bounce:nth-child(2) { animation-delay: 0.12s; }
.cicosy-spinner-dot--bounce:nth-child(3) { animation-delay: 0.24s; }
.cicosy-spinner-dot--bounce:nth-child(4) { animation-delay: 0.36s; }
.cicosy-spinner-dot--bounce:nth-child(5) { animation-delay: 0.48s; }

.cicosy-concentric-spinner {
  position: relative;
  width: 52px;
  height: 52px;
  margin: 9px auto 0;
}

.cicosy-concentric-spinner::before,
.cicosy-concentric-spinner::after,
.cicosy-concentric-spinner > span:first-child {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 4px solid transparent;
  border-top-color: var(--cicosy-spinner-primary);
  border-left-color: var(--cicosy-spinner-primary);
  animation: cicosy-spinner-spin 0.9s linear infinite;
}

.cicosy-concentric-spinner::after {
  inset: 7px;
  border-top-color: #1aa86d;
  border-left-color: #1aa86d;
  animation-duration: 1.15s;
  animation-direction: reverse;
}

.cicosy-concentric-spinner > span:first-child {
  inset: 14px;
  border-top-color: var(--cicosy-spinner-primary);
  border-left-color: transparent;
  animation-duration: 0.7s;
}

.cicosy-spinner-search-demo {
  min-height: 190px;
}

.cicosy-spinner-search-bar {
  display: flex;
  width: 100%;
  margin-bottom: 34px;
}

.cicosy-spinner-search-bar input {
  flex: 1;
  min-width: 0;
  height: 25px;
  border: 1px solid #dfe7fb;
  border-right: 0;
  border-radius: 4px 0 0 4px;
  background: #f8fcf8;
  padding: 0 15px;
  color: #66728b;
  font: inherit;
}

.cicosy-spinner-search-bar button {
  width: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 4px 4px 0;
  border: 1px solid #7eb2ff;
  background: #7eb2ff;
}

.cicosy-spinner-widget-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.cicosy-spinner-widget-box {
  min-height: 85px;
  display: grid;
  place-items: center;
  border: 1px solid #d9e0ed;
  border-radius: 4px;
  color: #66728b;
  text-align: center;
}

.cicosy-spinner-widget-box .cicosy-spinner {
  margin-bottom: 8px;
}

@keyframes cicosy-spinner-spin {
  to { transform: rotate(360deg); }
}

@keyframes cicosy-spinner-grow {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  45% {
    opacity: 0.8;
  }

  100% {
    transform: scale(1);
    opacity: 0;
  }
}

@keyframes cicosy-spinner-bounce {
  0%, 80%, 100% {
    transform: translateY(0);
    opacity: 0.45;
  }

  40% {
    transform: translateY(-5px);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cicosy-spinner,
  .cicosy-spinner-dot,
  .cicosy-concentric-spinner,
  .cicosy-concentric-spinner::before,
  .cicosy-concentric-spinner::after,
  .cicosy-concentric-spinner > span:first-child {
    animation: none !important;
  }

  .spinner-grow.cicosy-spinner {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (max-width: 1100px) {
  .spinners-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .spinners-section-title {
    font-size: 19px;
  }

  .spinners-sizes-row {
    gap: 20px;
  }

  .spinners-alignment-canvas {
    height: 155px;
  }

  .cicosy-spinner-widget-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .spinners-button-row {
    gap: 7px;
  }

  .cicosy-spinner-button {
    min-height: 38px;
    padding-inline: 16px;
  }

  .cicosy-spinner-button--icon {
    width: 54px;
  }

  .spinners-row-wrap {
    gap: 15px;
  }
}
/* End spinners component fragments */

/* Tooltip component fragments */
.tooltips-showcase {
  --cicosy-tooltip-heading: #1b5e20;
  --cicosy-tooltip-muted: #69768f;
  --cicosy-tooltip-border: #cfe8d2;
  --cicosy-tooltip-accent: #1b5e20;
  color: #172b4d;
}

.tooltips-showcase .cicosy-card-grid {
  margin-bottom: 1.5rem;
}

.tooltips-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: var(--cicosy-tooltip-border);
  --cicosy-card-shell-heading: var(--cicosy-tooltip-heading);
  --cicosy-card-shell-muted: var(--cicosy-tooltip-muted);
  overflow: visible;
}

.tooltips-section-title {
  margin: 1.75rem 0 1rem;
  color: var(--cicosy-tooltip-heading);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}

.cicosy-tooltip-target {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  border-radius: 4px;
}

.cicosy-tooltip-target:focus-visible,
.cicosy-tooltip-link:focus-visible {
  outline: 3px solid rgba(27, 94, 32, 0.2);
  outline-offset: 3px;
}

.cicosy-tooltip-target--content {
  cursor: help;
}

.cicosy-tooltip-target > .cicosy-btn {
  pointer-events: none;
}

.cicosy-tooltip-link,
.cicosy-tooltip-text,
.cicosy-tooltip-truncate {
  cursor: help;
}

.cicosy-tooltip-link {
  display: inline-flex;
  align-items: center;
  color: var(--cicosy-tooltip-accent, #1b5e20);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.cicosy-tooltip-text {
  border-bottom: 1px dashed currentColor;
}

.cicosy-tooltip-info {
  display: inline-flex;
  width: 1.15rem;
  height: 1.15rem;
  align-items: center;
  justify-content: center;
  margin-left: 0.2rem;
  color: #667085;
  cursor: help;
  font-size: 0.875rem;
}

.cicosy-tooltip-info--primary { color: #1b5e20; }
.cicosy-tooltip-info--success { color: #198754; }
.cicosy-tooltip-info--warning { color: #b76e00; }
.cicosy-tooltip-info--danger { color: #dc3545; }

[data-cicosy-tooltip-template] {
  display: none;
}

.cicosy-tooltip-direction-demo {
  display: grid;
  min-height: 12rem;
  place-items: center;
  text-align: center;
}

.cicosy-tooltip-direction-caption {
  margin: 0 0 1rem;
  color: var(--cicosy-tooltip-muted);
  font-size: 0.8125rem;
}

.cicosy-tooltip-direction-map {
  position: relative;
  width: 13rem;
  height: 8rem;
}

.cicosy-tooltip-map-element,
.cicosy-tooltip-map-label {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}

.cicosy-tooltip-map-element {
  inset: 2.65rem 4.25rem;
  background: #1b5e20;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
}

.cicosy-tooltip-map-label {
  padding: 0.3rem 0.55rem;
  background: #111827;
  color: #fff;
  font-size: 0.6875rem;
}

.cicosy-tooltip-map-label--top { top: 0; left: 50%; transform: translateX(-50%); }
.cicosy-tooltip-map-label--right { top: 50%; right: 0; transform: translateY(-50%); }
.cicosy-tooltip-map-label--bottom { bottom: 0; left: 50%; transform: translateX(-50%); }
.cicosy-tooltip-map-label--left { top: 50%; left: 0; transform: translateY(-50%); }

.cicosy-tooltip-form-stack,
.cicosy-tooltip-validation-stack {
  display: grid;
  gap: 1rem;
}

.cicosy-tooltip-form-group,
.cicosy-tooltip-validation-field {
  position: relative;
  display: grid;
  gap: 0.45rem;
}

.cicosy-tooltip-form-group label,
.cicosy-tooltip-validation-field label {
  display: flex;
  align-items: center;
  color: #172b4d;
  font-size: 0.875rem;
  font-weight: 600;
}

.cicosy-tooltip-form-group input,
.cicosy-tooltip-validation-field input {
  width: 100%;
  min-height: 2.65rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid #cfe8d2;
  border-radius: 4px;
  color: #172b4d;
  font: inherit;
}

.cicosy-tooltip-input-group {
  display: flex;
  min-width: 0;
}

.cicosy-tooltip-input-group input {
  min-width: 0;
  border-radius: 4px 0 0 4px;
}

.cicosy-tooltip-input-action .cicosy-btn,
.cicosy-tooltip-input-group > .cicosy-tooltip-target .cicosy-btn {
  height: 100%;
  border-radius: 0 4px 4px 0;
}

.cicosy-tooltip-input-addon {
  display: inline-flex;
  align-items: center;
  padding: 0 0.75rem;
  border: 1px solid #cfe8d2;
  border-right: 0;
  border-radius: 4px 0 0 4px;
  background: #f6f8ff;
}

.cicosy-tooltip-input-addon + input { border-radius: 0 4px 4px 0; }

.cicosy-tooltip-validation-icon {
  position: absolute;
  top: 2.5rem;
  right: 0.75rem;
}

.cicosy-tooltip-validation-field--valid input { border-color: #198754; }
.cicosy-tooltip-validation-field--invalid input { border-color: #dc3545; }
.cicosy-tooltip-validation-field--valid .cicosy-tooltip-validation-icon,
.cicosy-tooltip-feedback--valid { color: #198754; }
.cicosy-tooltip-validation-field--invalid .cicosy-tooltip-validation-icon,
.cicosy-tooltip-feedback--invalid { color: #dc3545; }
.cicosy-tooltip-feedback { font-size: 0.75rem; }

.cicosy-tooltip-editor {
  overflow: hidden;
  border: 1px solid #cfe8d2;
  border-radius: 4px;
}

.cicosy-tooltip-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.65rem;
  border-bottom: 1px solid #cfe8d2;
  background: #f6f8ff;
}

.cicosy-tooltip-toolbar-divider {
  width: 1px;
  margin: 0 0.15rem;
  background: #cfe8d2;
}

.cicosy-tooltip-editor-action.is-active .cicosy-btn,
.cicosy-tooltip-editor-action[aria-pressed="true"] .cicosy-btn {
  border-color: #1b5e20;
  background: #1b5e20;
  color: #fff;
}

.cicosy-tooltip-editor-area {
  min-height: 9rem;
  padding: 1rem;
  color: #1b5e20;
  outline: 0;
}

.cicosy-tooltip-editor-area:focus {
  box-shadow: inset 0 0 0 2px rgba(27, 94, 32, 0.16);
}

.cicosy-tooltip-editor-area.is-muted { color: #98a2b3; }
.cicosy-tooltip-editor-area.is-bold { font-weight: 700; }
.cicosy-tooltip-editor-area.is-italic { font-style: italic; }
.cicosy-tooltip-editor-area.is-underlined { text-decoration: underline; }
.cicosy-tooltip-editor-area.is-code {
  border-top: 1px solid #e8edfa;
  background: #f8f9ff;
  font-family: Consolas, "Courier New", monospace;
}

.cicosy-tooltip-table-wrap { overflow-x: auto; }
.cicosy-tooltip-user-table { width: 100%; border-collapse: collapse; }
.cicosy-tooltip-user-table th,
.cicosy-tooltip-user-table td { padding: 0.75rem; border-bottom: 1px solid #e8edfa; text-align: left; vertical-align: middle; }
.cicosy-tooltip-user-table th { color: #667085; font-size: 0.75rem; text-transform: uppercase; }
.cicosy-tooltip-user-cell { display: flex; align-items: center; gap: 0.75rem; min-width: 12rem; }
.cicosy-tooltip-avatar { width: 2.25rem; height: 2.25rem; border-radius: 50%; object-fit: cover; }
.cicosy-tooltip-user-name { font-weight: 700; }
.cicosy-tooltip-user-email { color: #69768f; font-size: 0.75rem; }
.cicosy-tooltip-table-actions-heading,
.cicosy-tooltip-table-actions { text-align: right !important; white-space: nowrap; }
.cicosy-tooltip-user-table tr.is-selected { background: #f6f8ff; }
.cicosy-tooltip-table-actions .cicosy-tooltip-target.is-active .cicosy-btn { border-color: #1b5e20; }

.cicosy-tooltip-stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.cicosy-tooltip-stat { position: relative; min-width: 0; padding: 1rem; border: 1px solid #cfe8d2; border-radius: 4px; }
.cicosy-tooltip-stat > .cicosy-tooltip-info { position: absolute; top: 0.75rem; right: 0.75rem; }
.cicosy-tooltip-stat-title { color: #69768f; font-size: 0.75rem; }
.cicosy-tooltip-stat-value { margin: 0.25rem 0; color: #1b5e20; font-size: 1.35rem; font-weight: 700; }
.cicosy-tooltip-trend { display: flex; gap: 0.25rem; align-items: center; color: #198754; font-size: 0.75rem; }
.cicosy-tooltip-trend--down { color: #dc3545; }
.cicosy-tooltip-muted { color: #69768f; }

.cicosy-tooltip-sidebar-demo { display: flex; width: fit-content; flex-direction: column; gap: 0.45rem; padding: 0.65rem; border-radius: 4px; background: #1b5e20; }
.cicosy-tooltip-nav-button .cicosy-btn { border-color: transparent; background: transparent; color: #fff; }
.cicosy-tooltip-nav-button.is-active .cicosy-btn,
.cicosy-tooltip-nav-button[aria-current="page"] .cicosy-btn { background: #1b5e20; }
.cicosy-tooltip-nav-separator { height: 1px; background: rgba(255, 255, 255, 0.24); }

.cicosy-tooltip-social-row { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.cicosy-tooltip-social.is-active .cicosy-btn,
.cicosy-tooltip-social[aria-pressed="true"] .cicosy-btn { transform: translateY(-1px); box-shadow: 0 0.5rem 1rem rgba(1, 41, 112, 0.14); }
.cicosy-tooltip-demo-divider { height: 1px; margin: 1rem 0; background: #e8edfa; }

.cicosy-tooltip-file-list { display: grid; }
.cicosy-tooltip-file-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.8rem 0; border-bottom: 1px solid #e8edfa; }
.cicosy-tooltip-file-row:last-child { border-bottom: 0; }
.cicosy-tooltip-truncate { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cicosy-tooltip-file-size { flex: 0 0 auto; color: #69768f; font-size: 0.75rem; }
.cicosy-tooltip-file-size--warning { color: #b76e00; }
.cicosy-tooltip-file-size--danger { color: #dc3545; }

.cicosy-tooltip-rich-lines { display: grid; gap: 0.2rem; text-align: left; }
.cicosy-tooltip-rating { color: #ffc107; white-space: nowrap; }

.cicosy-smart-tooltip {
  position: fixed;
  z-index: 1090;
  max-width: min(19rem, calc(100vw - 1rem));
  padding: 0.55rem 0.75rem;
  border-radius: 4px;
  background: var(--cicosy-tooltip-bg, #111827);
  color: var(--cicosy-tooltip-color, #fff);
  box-shadow: 0 0.5rem 1.5rem rgba(1, 41, 112, 0.2);
  font-family: "Nunito", sans-serif;
  font-size: 0.8125rem;
  line-height: 1.4;
  letter-spacing: 0;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.96);
  transition: opacity 0.14s ease, transform 0.14s ease;
}

.cicosy-smart-tooltip.is-visible { opacity: 1; transform: scale(1); }
.cicosy-smart-tooltip--compact { max-width: min(14rem, calc(100vw - 1rem)); }
.cicosy-smart-tooltip--normal { max-width: min(19rem, calc(100vw - 1rem)); }
.cicosy-smart-tooltip--wide { max-width: min(27rem, calc(100vw - 1rem)); }
.cicosy-smart-tooltip--dark { --cicosy-tooltip-bg: #111827; --cicosy-tooltip-color: #fff; }
.cicosy-smart-tooltip--primary { --cicosy-tooltip-bg: #1b5e20; --cicosy-tooltip-color: #fff; }
.cicosy-smart-tooltip--success { --cicosy-tooltip-bg: #198754; --cicosy-tooltip-color: #fff; }
.cicosy-smart-tooltip--warning { --cicosy-tooltip-bg: #ffc107; --cicosy-tooltip-color: #111827; }
.cicosy-smart-tooltip--danger { --cicosy-tooltip-bg: #dc3545; --cicosy-tooltip-color: #fff; }
.cicosy-smart-tooltip--light {
  --cicosy-tooltip-bg: #fff;
  --cicosy-tooltip-color: #172b4d;
  border: 1px solid #cfe8d2;
}
.cicosy-smart-tooltip::after { position: absolute; width: 0.55rem; height: 0.55rem; background: var(--cicosy-tooltip-bg, #111827); content: ""; transform: rotate(45deg); }
.cicosy-smart-tooltip[data-placement="top"]::after { left: var(--cicosy-tooltip-arrow-x); bottom: -0.25rem; margin-left: -0.275rem; }
.cicosy-smart-tooltip[data-placement="bottom"]::after { left: var(--cicosy-tooltip-arrow-x); top: -0.25rem; margin-left: -0.275rem; }
.cicosy-smart-tooltip[data-placement="left"]::after { top: var(--cicosy-tooltip-arrow-y); right: -0.25rem; margin-top: -0.275rem; }
.cicosy-smart-tooltip[data-placement="right"]::after { top: var(--cicosy-tooltip-arrow-y); left: -0.25rem; margin-top: -0.275rem; }

@media (max-width: 575.98px) {
  .tooltips-showcase .cicosy-card-shell-body { padding: 1rem; }
  .cicosy-tooltip-stats-grid { grid-template-columns: 1fr; }
  .cicosy-tooltip-user-table th,
  .cicosy-tooltip-user-table td { padding: 0.65rem 0.5rem; }
  .cicosy-tooltip-direction-map { max-width: 100%; }
}
/* End tooltip component fragments */

/* ApexCharts component fragments */
.charts-apex-showcase {
  color: #172b4d;
}

.charts-apex-showcase .cicosy-card-grid {
  margin-bottom: 1.5rem;
}

.charts-apex-showcase .cicosy-card-shell,
.cicosy-apex-card {
  min-width: 0;
  overflow: hidden;
}

.charts-apex-showcase .cicosy-card-shell-header {
  min-height: 3.85rem;
}

.charts-apex-showcase .cicosy-card-shell-body {
  min-width: 0;
  padding: 1rem 1.15rem 1.25rem;
  overflow: hidden;
}

.cicosy-apex-section-title {
  margin: 1.5rem 0 1rem;
  color: #1b5e20;
  font-family: "Nunito", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}

.cicosy-apex-section-title:first-child {
  margin-top: 0;
}

.cicosy-apex-chart {
  width: 100%;
  min-width: 0;
  min-height: 21.25rem;
  overflow: hidden;
}

.cicosy-apex-chart--sparkline {
  min-height: 6.5625rem;
}

.cicosy-apex-chart .apexcharts-canvas,
.cicosy-apex-chart .apexcharts-svg {
  max-width: 100% !important;
}

.cicosy-apex-chart .apexcharts-legend {
  display: flex;
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  overflow: visible;
}

.cicosy-apex-chart .apexcharts-tooltip,
.cicosy-apex-chart .apexcharts-xaxistooltip {
  max-width: min(18rem, calc(100vw - 2rem));
}

.cicosy-apex-metric {
  display: flex;
  min-width: 0;
  min-height: 12.5rem;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  background: #fff;
  border: 1px solid #cfe8d2;
  border-radius: 0.25rem;
  box-shadow: 0 0.2rem 0.9rem rgba(1, 41, 112, 0.05);
}

.cicosy-apex-metric__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem 0;
}

.cicosy-apex-metric__header h3 {
  margin: 0 0 0.25rem;
  color: #667085;
  font-family: "Nunito", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.cicosy-apex-metric__header strong {
  display: block;
  color: #1b5e20;
  font-size: 1.45rem;
  line-height: 1.2;
}

.cicosy-apex-metric__header > span {
  padding: 0.2rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 700;
}

.cicosy-apex-metric--positive .cicosy-apex-metric__header > span {
  color: #198754;
  background: #e5f7ee;
}

.cicosy-apex-metric--negative .cicosy-apex-metric__header > span {
  color: #dc3545;
  background: #fff0f3;
}

@media (max-width: 575.98px) {
  .charts-apex-showcase .cicosy-card-shell-body {
    padding: 0.75rem 0.5rem 1rem;
  }

  .cicosy-apex-chart {
    min-height: 19.375rem;
  }

  .cicosy-apex-chart--sparkline {
    min-height: 6.5625rem;
  }

  .cicosy-apex-metric__header {
    padding: 1rem 1rem 0;
  }
}
/* End ApexCharts component fragments */

/* Chart.js component fragments */
.charts-chartjs-showcase {
  color: #172b4d;
}

.charts-chartjs-showcase .cicosy-card-grid {
  margin-bottom: 1.5rem;
}

.charts-chartjs-showcase .cicosy-card-shell {
  overflow: hidden;
}

.cicosy-chartjs-intro {
  margin: 0 0 1rem;
  color: #667085;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.cicosy-chartjs-section-title {
  margin: 1.5rem 0 1rem;
  color: #1b5e20;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}

.cicosy-chartjs-canvas {
  display: block;
  width: 100% !important;
  max-width: 100%;
}

.cicosy-chartjs-tooltip {
  position: fixed;
  z-index: 100000;
  opacity: 0;
  min-width: max-content;
  max-width: min(16rem, calc(100vw - 2rem));
  padding: 0.35rem 0.5rem;
  border-radius: 0.25rem;
  background: rgba(17, 24, 39, 0.94);
  color: #fff;
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  box-shadow: 0 0.45rem 1rem rgba(7, 22, 47, 0.18);
  pointer-events: none;
  transform: translate(-50%, -115%);
  transition: opacity 0.08s ease;
  white-space: nowrap;
}

.cicosy-chartjs-tooltip-row {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.cicosy-chartjs-tooltip-swatch {
  flex: 0 0 auto;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 0.125rem;
}
/* End Chart.js component fragments */

/* Form validation component fragments */
.forms-validation-showcase {
  --validation-heading: #1b5e20;
  --validation-text: #172b4d;
  --validation-muted: #667085;
  --validation-border: #cfe8d2;
  --validation-border-strong: #bccbe7;
  --validation-soft: #f6f8ff;
  --validation-primary: #1b5e20;
  --validation-success: #198754;
  --validation-success-soft: #eaf8f1;
  --validation-danger: #dc3545;
  --validation-danger-soft: #fff0f3;
  --validation-warning: #b76e00;
  --validation-warning-soft: #fff6df;
  --validation-info: #2f80ed;
  --validation-info-soft: #eef8ef;
  display: grid;
  gap: 1.6rem;
}

.forms-validation-showcase .cicosy-card-shell {
  --cicosy-card-shell-border: var(--validation-border);
  --cicosy-card-shell-heading: var(--validation-heading);
  --cicosy-card-shell-muted: var(--validation-muted);
}

.forms-validation-showcase .cicosy-card-grid {
  margin-bottom: 1.25rem;
}

.cicosy-validation-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin: 0.65rem 0 0.85rem;
}

.cicosy-validation-section-heading h2 {
  margin: 0;
  color: var(--validation-heading);
  font-family: "Nunito", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0;
}

.cicosy-validation-section-heading p {
  max-width: 42rem;
  margin: 0;
  color: var(--validation-muted);
  font-size: 0.8125rem;
  line-height: 1.5;
  text-align: right;
}

.cicosy-validation-form,
.cicosy-validation-stack {
  display: grid;
  gap: 1rem;
}

.cicosy-validation-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.15rem;
  min-width: 0;
}

.cicosy-validation-form-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cicosy-validation-span-full {
  grid-column: 1 / -1;
  min-width: 0;
}

.cicosy-validation-field,
.cicosy-validation-choice-group,
.cicosy-validation-file-field {
  min-width: 0;
}

.cicosy-validation-label,
.cicosy-validation-group-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.45rem;
  color: var(--validation-heading);
  font-size: 0.875rem;
  font-weight: 650;
  line-height: 1.3;
}

.cicosy-validation-required {
  color: var(--validation-danger);
}

.cicosy-validation-control-wrap {
  position: relative;
  min-width: 0;
}

.cicosy-validation-control,
.cicosy-validation-select,
.cicosy-validation-textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--validation-border-strong);
  border-radius: 4px;
  color: var(--validation-text);
  background-color: #fff;
  font: inherit;
  outline: 0;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.cicosy-validation-control,
.cicosy-validation-select {
  min-height: 2.65rem;
  padding: 0.6rem 2.55rem 0.6rem 0.8rem;
}

.cicosy-validation-textarea {
  min-height: 7rem;
  padding: 0.75rem 2.55rem 0.75rem 0.8rem;
  resize: vertical;
}

.cicosy-validation-control::placeholder,
.cicosy-validation-textarea::placeholder {
  color: #98a2b3;
}

.cicosy-validation-control:hover,
.cicosy-validation-select:hover,
.cicosy-validation-textarea:hover {
  border-color: #9fb2d4;
}

.cicosy-validation-control:focus,
.cicosy-validation-select:focus,
.cicosy-validation-textarea:focus {
  border-color: var(--validation-primary);
  box-shadow: 0 0 0 0.2rem rgba(27, 94, 32, 0.12);
}

.cicosy-validation-help,
.cicosy-validation-feedback,
.cicosy-validation-counter-row {
  margin-top: 0.4rem;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.cicosy-validation-help,
.cicosy-validation-counter-row {
  color: var(--validation-muted);
}

.cicosy-validation-feedback {
  min-height: 1.05rem;
  color: var(--validation-muted);
  font-weight: 650;
}

.cicosy-validation-field.is-valid .cicosy-validation-control,
.cicosy-validation-field.is-valid .cicosy-validation-select,
.cicosy-validation-field.is-valid .cicosy-validation-textarea,
.cicosy-validation-choice-group.is-valid .cicosy-validation-choice-options,
.cicosy-validation-file-field.is-valid .cicosy-validation-file-control {
  border-color: var(--validation-success);
}

.cicosy-validation-field.is-invalid .cicosy-validation-control,
.cicosy-validation-field.is-invalid .cicosy-validation-select,
.cicosy-validation-field.is-invalid .cicosy-validation-textarea,
.cicosy-validation-choice-group.is-invalid .cicosy-validation-choice-options,
.cicosy-validation-file-field.is-invalid .cicosy-validation-file-control {
  border-color: var(--validation-danger);
}

.cicosy-validation-field.is-valid .cicosy-validation-feedback,
.cicosy-validation-choice-group.is-valid .cicosy-validation-feedback,
.cicosy-validation-file-field.is-valid .cicosy-validation-feedback {
  color: var(--validation-success);
}

.cicosy-validation-field.is-invalid .cicosy-validation-feedback,
.cicosy-validation-choice-group.is-invalid .cicosy-validation-feedback,
.cicosy-validation-file-field.is-invalid .cicosy-validation-feedback {
  color: var(--validation-danger);
}

.cicosy-validation-state-icon {
  position: absolute;
  top: 50%;
  right: 0.85rem;
  display: none;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-50%);
  pointer-events: none;
}

.cicosy-validation-field.is-valid .cicosy-validation-state-icon--valid {
  display: block;
  color: var(--validation-success);
}

.cicosy-validation-field.is-invalid .cicosy-validation-state-icon--invalid {
  display: block;
  color: var(--validation-danger);
}

.cicosy-validation-no-state-icon .cicosy-validation-state-icon,
.cicosy-validation-has-action .cicosy-validation-state-icon {
  display: none !important;
}

.cicosy-validation-input-group {
  display: flex;
  min-width: 0;
}

.cicosy-validation-addon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.65rem;
  border: 1px solid var(--validation-border-strong);
  border-right: 0;
  border-radius: 4px 0 0 4px;
  color: var(--validation-muted);
  background: var(--validation-soft);
  font-weight: 700;
}

.cicosy-validation-input-group .cicosy-validation-control {
  border-radius: 0 4px 4px 0;
}

.cicosy-validation-choice-options {
  display: grid;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background: #fff;
}

.cicosy-validation-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  width: fit-content;
  margin: 0;
  color: var(--validation-text);
  font-size: 0.875rem;
  cursor: pointer;
}

.cicosy-validation-choice input {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0.1rem 0 0;
  accent-color: var(--validation-primary);
  flex: 0 0 auto;
}

.cicosy-validation-choice--danger {
  color: var(--validation-danger);
}

.cicosy-validation-actions {
  margin-top: 0.2rem;
}

.cicosy-validation-success {
  display: none;
  margin-top: 0.25rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #93d5b7;
  border-radius: 4px;
  color: #126944;
  background: var(--validation-success-soft);
  font-size: 0.8125rem;
  font-weight: 700;
}

.cicosy-validation-success.show {
  display: block;
}

.cicosy-validation-note {
  padding: 0.75rem 0.85rem;
  border-left: 3px solid var(--validation-primary);
  border-radius: 0 4px 4px 0;
  color: var(--validation-muted);
  background: #eef8ef;
  font-size: 0.8125rem;
}

.cicosy-validation-alert {
  padding: 0.85rem 0.95rem;
  border: 1px solid;
  border-radius: 4px;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.cicosy-validation-alert strong {
  display: block;
  margin-bottom: 0.3rem;
  color: inherit;
  font-size: 0.875rem;
}

.cicosy-validation-alert ul {
  margin: 0.35rem 0 0;
  padding-left: 1.2rem;
}

.cicosy-validation-alert--danger {
  color: #a92232;
  border-color: #f2a4ae;
  background: var(--validation-danger-soft);
}

.cicosy-validation-alert--info {
  color: #1f56b3;
  border-color: #a9c8ff;
  background: var(--validation-info-soft);
}

.cicosy-validation-summary-links a {
  color: inherit;
  text-decoration: underline;
}

.cicosy-validation-tooltip-field {
  position: relative;
}

.cicosy-validation-tooltip-field .cicosy-validation-feedback {
  position: absolute;
  z-index: 10;
  top: calc(100% - 0.1rem);
  left: 0;
  display: none;
  max-width: min(20rem, 100%);
  padding: 0.45rem 0.65rem;
  border-radius: 4px;
  color: #fff;
  background: var(--validation-danger);
  box-shadow: 0 0.5rem 1.25rem rgba(153, 30, 46, 0.18);
  font-size: 0.75rem;
}

.cicosy-validation-tooltip-field .cicosy-validation-feedback::before {
  position: absolute;
  top: -0.25rem;
  left: 0.75rem;
  width: 0.5rem;
  height: 0.5rem;
  background: inherit;
  content: "";
  transform: rotate(45deg);
}

.cicosy-validation-tooltip-field.is-valid .cicosy-validation-feedback,
.cicosy-validation-tooltip-field.is-invalid .cicosy-validation-feedback {
  display: block;
}

.cicosy-validation-tooltip-field.is-valid .cicosy-validation-feedback {
  background: var(--validation-success);
  color: #fff;
}

.cicosy-validation-tooltip-field.is-invalid .cicosy-validation-feedback {
  background: var(--validation-danger);
  color: #fff;
}

.cicosy-validation-counter-row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
}

.cicosy-validation-icon-button {
  position: absolute;
  top: 50%;
  right: 0.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 4px;
  color: var(--validation-muted);
  background: transparent;
  transform: translateY(-50%);
}

.cicosy-validation-icon-button:hover,
.cicosy-validation-icon-button:focus-visible {
  color: var(--validation-heading);
  background: var(--validation-soft);
}

.cicosy-validation-has-action .cicosy-validation-control {
  padding-right: 2.8rem;
}

.cicosy-validation-password-meter {
  display: grid;
  gap: 0.45rem;
}

.cicosy-validation-meter-track {
  height: 0.5rem;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f8;
}

.cicosy-validation-meter-fill {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--validation-danger);
  transition: width 0.22s ease, background-color 0.22s ease;
}

.cicosy-validation-meter-fill[data-strength="warning"] { background: var(--validation-warning); }
.cicosy-validation-meter-fill[data-strength="info"] { background: var(--validation-info); }
.cicosy-validation-meter-fill[data-strength="success"] { background: var(--validation-success); }

.cicosy-validation-meter-label {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--validation-muted);
  font-size: 0.8125rem;
}

.cicosy-validation-requirements {
  display: grid;
  gap: 0.45rem;
}

.cicosy-validation-requirement {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--validation-muted);
  font-size: 0.875rem;
}

.cicosy-validation-requirement.met {
  color: var(--validation-success);
}

.cicosy-validation-inline-message {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  color: var(--validation-danger);
  font-size: 0.8125rem;
}

.cicosy-validation-inline-message::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  margin-top: 0.05rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  content: "!";
  font-size: 0.65rem;
  font-weight: 700;
  flex: 0 0 auto;
}

.cicosy-validation-inline-message[hidden] {
  display: none;
}

.cicosy-validation-file-control {
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 2.65rem;
  overflow: hidden;
  border: 1px solid var(--validation-border-strong);
  border-radius: 4px;
  background: #fff;
}

.cicosy-validation-file-control input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.cicosy-validation-file-button {
  display: inline-flex;
  align-items: center;
  padding: 0 0.8rem;
  border-right: 1px solid var(--validation-border-strong);
  color: var(--validation-text);
  background: var(--validation-soft);
  font-weight: 700;
}

.cicosy-validation-file-name {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  padding: 0 0.8rem;
  color: var(--validation-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cicosy-validation-file-list {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.65rem;
}

.cicosy-validation-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--validation-border);
  border-radius: 4px;
  background: var(--validation-soft);
  font-size: 0.75rem;
}

.cicosy-validation-file-item span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cicosy-validation-status {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: #eef2f8;
  color: var(--validation-muted);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
}

.cicosy-validation-status--pending {
  color: var(--validation-warning);
  background: var(--validation-warning-soft);
}

.cicosy-validation-status--success {
  color: var(--validation-success);
  background: var(--validation-success-soft);
}

.cicosy-validation-status--danger {
  color: var(--validation-danger);
  background: var(--validation-danger-soft);
}

@media (max-width: 1199.98px) {
  .forms-validation-showcase .cicosy-card-grid--2,
  .forms-validation-showcase .cicosy-card-grid--3 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .cicosy-validation-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .cicosy-validation-section-heading p {
    text-align: left;
  }

  .cicosy-validation-form-grid,
  .cicosy-validation-form-grid--3 {
    grid-template-columns: 1fr;
  }

  .cicosy-validation-tooltip-field .cicosy-validation-feedback {
    position: static;
    max-width: none;
    margin-top: 0.4rem;
    box-shadow: none;
  }

  .cicosy-validation-tooltip-field .cicosy-validation-feedback::before {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .forms-validation-showcase .cicosy-card-shell-body {
    padding: 1rem;
  }

  .cicosy-validation-counter-row,
  .cicosy-validation-meter-label {
    flex-direction: column;
    gap: 0.2rem;
  }
}
/* End form validation component fragments */
/*--------------------------------------------------------------
# Reusable Widgets
--------------------------------------------------------------*/
.cicosy-widgets-showcase {
  display: grid;
  gap: 1.5rem;
}

.cicosy-widgets-showcase .cicosy-card-grid {
  margin: 0;
}

.cicosy-widget-section-title {
  margin: 0;
  color: var(--cicosy-widget-heading);
  font-family: "Nunito", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
}

.cicosy-widget-showcase-card > .cicosy-card-shell-header {
  align-items: center;
}

.cicosy-widget-showcase-card > .cicosy-card-shell-header > div:first-child {
  min-width: 0;
}

.cicosy-widget-copy,
.cicosy-widget-icon-action,
.cicosy-widget-banner-close {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 1px solid var(--cicosy-widget-border);
  border-radius: 0.25rem;
  color: #1b5e20;
  background: #fff;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.cicosy-widget-copy:hover,
.cicosy-widget-copy:focus-visible,
.cicosy-widget-icon-action:hover,
.cicosy-widget-icon-action:focus-visible {
  border-color: #1b5e20;
  color: #fff;
  background: #1b5e20;
}

.cicosy-widget,
.cicosy-widget-banner {
  min-width: 0;
}

.cicosy-widget-metric,
.cicosy-widget-change,
.cicosy-widget-progress,
.cicosy-widget-weather,
.cicosy-widget-article,
.cicosy-widget-profile,
.cicosy-widget-transaction,
.cicosy-widget-schedule,
.cicosy-widget-comment,
.cicosy-widget-todo,
.cicosy-widget-project,
.cicosy-widget-message,
.cicosy-widget-person,
.cicosy-widget-poll,
.cicosy-widget-chart,
.cicosy-widget-chart-metric {
  width: 100%;
  color: #1f2937;
}

.cicosy-widget-metric,
.cicosy-widget-change,
.cicosy-widget-weather,
.cicosy-widget-transaction,
.cicosy-widget-comment,
.cicosy-widget-message,
.cicosy-widget-person {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.cicosy-widget-content {
  min-width: 0;
  flex: 1 1 auto;
}

.cicosy-widget-label,
.cicosy-widget-meta,
.cicosy-widget-byline,
.cicosy-widget-progress-meta,
.cicosy-widget-schedule p,
.cicosy-widget-comment p,
.cicosy-widget-message p {
  margin: 0;
  color: var(--cicosy-widget-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

.cicosy-widget-value {
  display: block;
  color: var(--cicosy-widget-heading);
  font-family: "Nunito", sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
}

.cicosy-widget-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  color: #1b5e20;
  background: #eef8ef;
  font-size: 1.3rem;
}

.cicosy-widget--success .cicosy-widget-icon,
.cicosy-widget-icon.is-positive { color: #198754; background: #e8f7ef; }
.cicosy-widget--warning .cicosy-widget-icon,
.cicosy-widget-icon.is-negative { color: #dc3545; background: #fff0f1; }
.cicosy-widget--info .cicosy-widget-icon { color: #0dcaf0; background: #e9faff; }

.cicosy-widget-progress-head,
.cicosy-widget-row-head,
.cicosy-widget-traffic-head,
.cicosy-widget-change-main,
.cicosy-widget-chart-metric-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.cicosy-widget-progress {
  display: grid;
  gap: 0.875rem;
}

.cicosy-widget-progress-meta strong { color: var(--cicosy-widget-heading); }

.cicosy-widget-weather {
  justify-content: space-between;
  min-height: 8rem;
  padding: 1rem;
  border-radius: 0.375rem;
  color: #fff;
  background: #2f80ed;
}

.cicosy-widget-weather .cicosy-widget-label,
.cicosy-widget-weather .cicosy-widget-meta { color: rgba(255, 255, 255, 0.82); }
.cicosy-widget-temperature { display: block; font-size: 2.5rem; line-height: 1; }
.cicosy-widget-weather-side { display: grid; gap: 0.5rem; justify-items: end; }
.cicosy-widget-weather-side i { font-size: 2.4rem; }

.cicosy-widget-stack {
  display: grid;
  gap: 0;
}

.cicosy-widget-stack > .cicosy-widget + .cicosy-widget,
.cicosy-widget-stack > .cicosy-widget-traffic + .cicosy-widget-traffic {
  border-top: 1px solid #edf1f7;
}

.cicosy-widget-product {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 0;
}

.cicosy-widget-product-image,
.cicosy-widget-avatar {
  display: block;
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  object-fit: cover;
}

.cicosy-widget-product-image { border-radius: 0.375rem; }
.cicosy-widget-product-name { display: block; color: var(--cicosy-widget-heading); }
.cicosy-widget-product-numbers { display: grid; justify-items: end; }

.cicosy-widget-traffic { display: grid; gap: 0.5rem; padding: 0.9rem 0; }
.cicosy-widget-traffic-head { color: #344054; font-size: 0.9rem; }

.cicosy-widget-banner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1.125rem;
  border: 1px solid #cad7ff;
  border-left: 0.25rem solid #1b5e20;
  border-radius: 0.375rem;
  color: #1f2d4d;
  background: #f5f7ff;
}

.cicosy-widget-banner--success { border-color: #a8dfc3; border-left-color: #198754; background: #effaf4; }
.cicosy-widget-banner--warning { border-color: #f7d690; border-left-color: #f59f00; background: #fff9ea; }
.cicosy-widget-banner--danger { border-color: #f4b3ba; border-left-color: #dc3545; background: #fff2f3; }
.cicosy-widget-banner--info { border-color: #a9dce7; border-left-color: #0a94b2; background: #f0fbfd; }
.cicosy-widget-banner--welcome { overflow: hidden; padding: 1.5rem; border: 0; color: #fff; background: #1b5e20; }
.cicosy-widget-banner--welcome .cicosy-widget-banner-content { max-width: 75%; }
.cicosy-widget-banner.cicosy-widget-banner--welcome h3,
.cicosy-widget-banner.cicosy-widget-banner--welcome p,
.cicosy-widget-banner.cicosy-widget-banner--welcome .cicosy-widget-banner-eyebrow { color: #fff; }
.cicosy-widget-banner.cicosy-widget-banner--welcome p { opacity: 0.86; }
.cicosy-widget-banner--status.is-disconnected { border-color: #f7d690; border-left-color: #f59f00; background: #fff9ea; }
.cicosy-widget-banner--status.is-connected { border-color: #a8dfc3; border-left-color: #198754; background: #effaf4; }
.cicosy-widget-banner--onboarding { align-items: stretch; }

.cicosy-widget-banner-content { min-width: 0; flex: 1 1 auto; }
.cicosy-widget-banner h3 { margin: 0 0 0.25rem; color: var(--cicosy-widget-heading); font-size: 1.05rem; font-weight: 700; }
.cicosy-widget-banner p { margin: 0; color: #5e6b85; line-height: 1.55; }
.cicosy-widget-banner-icon { display: grid; flex: 0 0 auto; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; color: #1b5e20; background: rgba(27, 94, 32, 0.1); font-size: 1.25rem; }
.cicosy-widget-banner-actions { display: flex; flex-wrap: wrap; gap: 0.625rem; margin-top: 1rem; }
.cicosy-widget-banner-close { align-self: flex-start; border: 0; color: #667085; background: transparent; }
.cicosy-widget-banner-close:hover { color: #dc3545; background: #fff; }
.cicosy-widget-banner-eyebrow { display: block; margin-bottom: 0.35rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
.cicosy-widget-banner-hero-icon { position: absolute; right: 1.5rem; font-size: 5rem; opacity: 0.18; }

.cicosy-widget-article { overflow: hidden; border: 1px solid #edf1f7; border-radius: 0.375rem; background: var(--cicosy-widget-surface); }
.cicosy-widget-article-image { width: 100%; aspect-ratio: 16 / 8; object-fit: cover; }
.cicosy-widget-article .cicosy-widget-content { display: grid; gap: 0.65rem; padding: 1rem; }
.cicosy-widget-article h3 { margin: 0; font-size: 1.1rem; }
.cicosy-widget-article h3 a { color: var(--cicosy-widget-heading); }
.cicosy-widget-article p { margin: 0; color: #5e6b85; }
.cicosy-widget-byline { display: flex; flex-wrap: wrap; gap: 0.45rem; }

.cicosy-widget-profile { display: grid; justify-items: center; gap: 0.6rem; text-align: center; }
.cicosy-widget-profile-head { position: relative; }
.cicosy-widget-profile .cicosy-widget-avatar { width: 5rem; height: 5rem; }
.cicosy-widget-profile h3 { margin: 0; color: var(--cicosy-widget-heading); font-size: 1.15rem; }
.cicosy-widget-presence { position: absolute; right: 0.2rem; bottom: 0.2rem; width: 0.9rem; height: 0.9rem; border: 2px solid #fff; border-radius: 50%; background: #98a2b3; }
.cicosy-widget-presence.is-online { background: #198754; }

.cicosy-widget-payment { min-height: 12rem; padding: 1.35rem; border-radius: 0.5rem; color: #fff; background: #344054; }
.cicosy-widget-payment--primary { background: #3049d8; }
.cicosy-widget-payment--success { background: #177c52; }
.cicosy-widget-payment-top,
.cicosy-widget-payment-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cicosy-widget-payment-top i { font-size: 1.5rem; }
.cicosy-widget-payment-number { display: block; margin: 2rem 0; font-size: 1.25rem; letter-spacing: 0.08em; }
.cicosy-widget-payment-bottom span { display: grid; gap: 0.2rem; }
.cicosy-widget-payment-bottom small { opacity: 0.7; }

.cicosy-widget-transaction,
.cicosy-widget-comment,
.cicosy-widget-message,
.cicosy-widget-person { padding: 0.875rem 0; }
.cicosy-widget-transaction-value { display: grid; flex: 0 0 auto; justify-items: end; gap: 0.25rem; }
.cicosy-widget-transaction-value .is-positive { color: #198754; }
.cicosy-widget-transaction-value .is-negative { color: #dc3545; }

.cicosy-widget-schedule { display: grid; grid-template-columns: 3.75rem 0.75rem minmax(0, 1fr); align-items: start; gap: 0.75rem; padding: 1rem 0; }
.cicosy-widget-schedule time { color: #667085; font-weight: 600; }
.cicosy-widget-schedule-marker { width: 0.65rem; height: 0.65rem; margin-top: 0.35rem; border-radius: 50%; background: #1b5e20; }
.cicosy-widget-schedule-marker.is-success { background: #198754; }
.cicosy-widget-schedule-marker.is-warning { background: #f59f00; }
.cicosy-widget-setting,
.cicosy-widget-gift,
.cicosy-widget-review { display: flex; align-items: center; gap: 0.8rem; padding: 0.9rem 0; }
.cicosy-widget-setting { cursor: pointer; }
.cicosy-widget-setting .cicosy-widget-content,
.cicosy-widget-gift .cicosy-widget-content { display: grid; }
.cicosy-widget-setting small { color: var(--cicosy-widget-muted); }
.cicosy-widget-setting .form-switch { flex: 0 0 auto; margin: 0; padding-left: 2.5rem; }
.cicosy-widget-gift .btn { display: inline-flex; align-items: center; gap: 0.4rem; white-space: nowrap; }
.cicosy-widget-review { align-items: flex-start; }
.cicosy-widget-review p { margin: 0.4rem 0; color: #4f5d75; }
.cicosy-widget-stars { display: flex; gap: 0.2rem; color: #f59f00; font-size: 0.8rem; }
.cicosy-widget-stars .is-muted { color: #d8deeb; }
.cicosy-widget-campaign { display: grid; gap: 0.8rem; }

.cicosy-widget-row-head { align-items: flex-start; }
.cicosy-widget-row-head > div { display: grid; min-width: 0; }
.cicosy-widget-row-head time { flex: 0 0 auto; color: #98a2b3; font-size: 0.8rem; }
.cicosy-widget-inline-actions { display: flex; gap: 1rem; margin-top: 0.4rem; }
.cicosy-widget-inline-actions button { padding: 0; border: 0; color: #667085; background: transparent; font-size: 0.8rem; }
.cicosy-widget-inline-actions button:hover { color: #1b5e20; }

.cicosy-widget-todo { display: flex; align-items: center; gap: 0.75rem; padding: 0.9rem 0; cursor: pointer; }
.cicosy-widget-todo > input { position: absolute; opacity: 0; pointer-events: none; }
.cicosy-widget-todo-check { display: grid; flex: 0 0 auto; place-items: center; width: 1.3rem; height: 1.3rem; border: 1px solid #bac7e8; border-radius: 0.25rem; color: transparent; }
.cicosy-widget-todo > input:focus-visible + .cicosy-widget-todo-check { outline: 3px solid rgba(27, 94, 32, 0.22); }
.cicosy-widget-todo.is-complete .cicosy-widget-todo-check { border-color: #1b5e20; color: #fff; background: #1b5e20; }
.cicosy-widget-todo.is-complete strong { color: #98a2b3; text-decoration: line-through; }
.cicosy-widget-todo .cicosy-widget-content { display: grid; }
.cicosy-widget-todo small { color: #98a2b3; }

.cicosy-widget-project { display: grid; gap: 0.7rem; padding: 1rem 0; }
.cicosy-widget-project .cicosy-widget-row-head > div { gap: 0.2rem; }
.cicosy-widget-message.is-unread { background: #f8f9ff; }
.cicosy-widget-message p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cicosy-widget-unread { flex: 0 0 auto; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: #1b5e20; }
.cicosy-widget-person small { display: block; color: #98a2b3; }

.cicosy-widget-poll { display: grid; gap: 1rem; }
.cicosy-widget-poll fieldset { display: grid; gap: 0.8rem; margin: 0; }
.cicosy-widget-poll legend { color: var(--cicosy-widget-heading); font-size: 1rem; font-weight: 700; }
.cicosy-widget-poll-option { display: flex; align-items: center; gap: 0.65rem; padding: 0.7rem; border: 1px solid #e1e7f5; border-radius: 0.25rem; cursor: pointer; }
.cicosy-widget-poll-option:has(input:checked) { border-color: #1b5e20; background: #f3faf4; }
.cicosy-widget-exchange,
.cicosy-widget-subscription { display: grid; gap: 1rem; }
.cicosy-widget-exchange label,
.cicosy-widget-subscription label { display: grid; gap: 0.35rem; color: var(--cicosy-widget-muted); font-size: 0.8rem; }
.cicosy-widget-exchange input,
.cicosy-widget-subscription input { width: 100%; min-height: 2.6rem; padding: 0.5rem 0.7rem; border: 1px solid #cfe8d2; border-radius: 0.25rem; }
.cicosy-widget-exchange-result { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.8rem; border-radius: 0.25rem; background: #f3faf4; }
.cicosy-widget-subscription p { margin: 0.25rem 0 0; color: var(--cicosy-widget-muted); }
.cicosy-widget-subscription .btn { justify-self: start; }
.cicosy-widget-feed,
.cicosy-widget-news { display: flex; align-items: center; gap: 0.75rem; padding: 0.8rem 0; }
.cicosy-widget-feed p { margin: 0; color: #344054; }
.cicosy-widget-feed time { color: var(--cicosy-widget-muted); font-size: 0.78rem; }
.cicosy-widget-news img { width: 4.5rem; height: 3.25rem; border-radius: 0.25rem; object-fit: cover; }
.cicosy-widget-news .cicosy-widget-content { display: grid; gap: 0.25rem; }
.cicosy-widget-news a { color: var(--cicosy-widget-heading); font-weight: 700; }
.cicosy-widget-quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.cicosy-widget-quick-action { display: grid; justify-items: center; gap: 0.45rem; min-height: 5.5rem; padding: 0.8rem; border: 1px solid #cfe8d2; border-radius: 0.375rem; color: #1b5e20; background: #f8fcf8; }
.cicosy-widget-quick-action i { font-size: 1.35rem; }
.cicosy-widget-quick-action:hover { border-color: #1b5e20; background: #eef8ef; }
.cicosy-widget-quick-action.is-success { color: #198754; }
.cicosy-widget-quick-action.is-warning { color: #c77800; }
.cicosy-widget-quick-action.is-info { color: #0a94b2; }
.cicosy-widget-calendar-event { display: grid; grid-template-columns: 3rem 0.75rem minmax(0, 1fr); align-items: center; gap: 0.75rem; padding: 0.9rem 0; }
.cicosy-widget-calendar-event > time { display: grid; justify-items: center; color: #1b5e20; }
.cicosy-widget-calendar-event > time strong { font-size: 1.25rem; }
.cicosy-widget-calendar-event > time span { font-size: 0.7rem; font-weight: 700; }
.cicosy-widget-calendar-event p { margin: 0; color: var(--cicosy-widget-muted); font-size: 0.85rem; }

.cicosy-widget-chart,
.cicosy-widget-chart-metric { min-height: 0; }
.cicosy-widget-chart h3 { margin: 0; color: var(--cicosy-widget-heading); font-size: 1rem; }
.cicosy-widget-chart .cicosy-apex-chart,
.cicosy-widget-chart-metric .cicosy-apex-chart { min-width: 0; max-width: 100%; }
.cicosy-widget-chart-metric { display: grid; gap: 0.5rem; }
.cicosy-widget-chart-metric .cicosy-widget-value { font-size: 1.35rem; }

.cicosy-widget-chart-surface--reconciliation {
  min-height: 15.625rem;
}

.cicosy-widget-chart-surface--reconciliation > .cicosy-card-shell-body {
  min-height: 15.5rem;
  display: flex;
  padding: 1rem 1rem 1.1rem;
}

.cicosy-widget-reconciliation {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.cicosy-widget-reconciliation-head {
  min-width: 0;
}

.cicosy-widget-reconciliation-head h3 {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.cicosy-widget-reconciliation-head p {
  margin: 0;
  color: var(--cicosy-text-muted);
  font-size: var(--cicosy-text-xs);
  line-height: var(--cicosy-line-snug);
}

.cicosy-widget-reconciliation-body {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(7.25rem, 7.25rem) minmax(8.75rem, 10rem);
  align-items: center;
  justify-content: center;
  gap: 1.45rem;
  padding-top: 0.55rem;
}

.cicosy-widget-reconciliation-chart {
  width: 7.25rem;
  height: 7.25rem;
  display: grid;
  place-items: center;
}

.cicosy-widget-reconciliation-chart .cicosy-chartjs-canvas {
  width: 7.25rem !important;
  height: 7.25rem !important;
  max-width: 7.25rem;
  max-height: 7.25rem;
}

.cicosy-widget-reconciliation-chart-data {
  display: none;
}

.cicosy-widget-reconciliation-list {
  min-width: 0;
  display: grid;
  gap: 0.28rem;
  margin: 0;
}

.cicosy-widget-reconciliation-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(2rem, auto);
  align-items: center;
  gap: 0.65rem;
  color: var(--cicosy-text-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.cicosy-widget-reconciliation-row dt {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  overflow: hidden;
  color: var(--cicosy-text-body);
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cicosy-widget-reconciliation-row dt span {
  width: 0.38rem;
  height: 0.38rem;
  flex: 0 0 auto;
  background: var(--cicosy-reconciliation-color);
}

.cicosy-widget-reconciliation-row dd {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-weight: 700;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.cicosy-widget-reconciliation-row--reconciled { --cicosy-reconciliation-color: #19bf86; }
.cicosy-widget-reconciliation-row--progress { --cicosy-reconciliation-color: #f59e0b; }
.cicosy-widget-reconciliation-row--not-reconciled { --cicosy-reconciliation-color: #ef4444; }

.cicosy-widget-reconciliation-row--total {
  padding-top: 0.05rem;
  color: var(--cicosy-text-strong);
}

.cicosy-widget-reconciliation-row--total dt {
  color: var(--cicosy-text-strong);
  font-weight: 700;
}

@media (max-width: 420px) {
  .cicosy-widget-reconciliation-body {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    justify-items: center;
  }

  .cicosy-widget-reconciliation-list {
    width: min(100%, 10rem);
  }
}

.cicosy-widget-toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1090;
  max-width: min(22rem, calc(100vw - 2rem));
  padding: 0.8rem 1rem;
  border-radius: 0.25rem;
  color: #fff;
  background: #263145;
  box-shadow: 0 0.75rem 2rem rgba(30, 40, 70, 0.24);
}

.cicosy-widget-spin { animation: cicosy-widget-spin 700ms linear infinite; }
@keyframes cicosy-widget-spin { to { transform: rotate(360deg); } }

.cicosy-data-widgets-showcase .cicosy-card-grid--equal > .cicosy-widget-card,
.cicosy-data-widgets-showcase .cicosy-card-grid--equal > .cicosy-widget-panel,
.cicosy-data-widgets-showcase .cicosy-card-grid--equal > .cicosy-widget-product-row,
.cicosy-dashboard-section .cicosy-card-grid--equal > .cicosy-widget-card,
.cicosy-dashboard-section .cicosy-card-grid--equal > .cicosy-widget-panel,
.cicosy-dashboard-section .cicosy-card-grid--equal > .cicosy-widget-product-row {
  height: 100%;
}

.cicosy-widget-card,
.cicosy-widget-panel {
  min-width: 0;
  border: 1px solid var(--cicosy-widget-border);
  border-radius: 0.3125rem;
  background: var(--cicosy-widget-surface);
  box-shadow: 0 0.5rem 1.25rem rgba(29, 52, 108, 0.055);
}

.cicosy-widget-card {
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.cicosy-widget-card:hover {
  border-color: #c2cdf9;
  box-shadow: 0 0.875rem 1.875rem rgba(29, 52, 108, 0.09);
  transform: translateY(-0.125rem);
}

.cicosy-widget-stat,
.cicosy-widget-split,
.cicosy-widget-solid {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 5.875rem;
  padding: 1.25rem;
  position: relative;
  overflow: hidden;
}

.cicosy-widget-stat--accent::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0.25rem;
  background: var(--cicosy-widget-tone, #1b5e20);
  content: "";
}

.cicosy-widget-finance-stat {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.875rem;
}

.cicosy-widget-finance-stat-card > .cicosy-card-shell-body {
  min-height: 6.25rem;
  display: flex;
  align-items: center;
  padding: 1rem;
}

.cicosy-widget-finance-stat .cicosy-widget-icon {
  width: 2.625rem;
  height: 2.625rem;
  font-size: 1.15rem;
}

.cicosy-widget-finance-stat .cicosy-widget-content {
  display: grid;
  gap: 0.2rem;
}

.cicosy-widget-finance-stat .cicosy-widget-label {
  color: var(--cicosy-widget-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.cicosy-widget-finance-stat .cicosy-widget-value {
  color: var(--cicosy-text-strong, #17233c);
  font-size: var(--cicosy-text-lg);
  line-height: var(--cicosy-line-tight);
}

.cicosy-widget-finance-stat .cicosy-widget-meta {
  color: var(--cicosy-widget-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.cicosy-widget-finance-stat-card.cicosy-widget--danger .cicosy-widget-value {
  color: #dc3545;
}

.cicosy-ap-stat-card-grid > .cicosy-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.75rem), 1fr));
  gap: 0.75rem;
}

.cicosy-ap-stat-card-grid .cicosy-widget-finance-stat {
  width: 100%;
}

.cicosy-widget-icon--circle {
  border-radius: 50%;
}

.cicosy-widget--primary { --cicosy-widget-tone: #1b5e20; }
.cicosy-widget--success { --cicosy-widget-tone: #198754; }
.cicosy-widget--warning { --cicosy-widget-tone: #f59f00; }
.cicosy-widget--danger { --cicosy-widget-tone: #dc3545; }
.cicosy-widget--info { --cicosy-widget-tone: #0dcaf0; }
.cicosy-widget--secondary { --cicosy-widget-tone: #6c757d; }

.cicosy-widget--primary .cicosy-widget-icon { color: #1b5e20; background: #eef8ef; }
.cicosy-widget--success .cicosy-widget-icon { color: #198754; background: #e8f7ef; }
.cicosy-widget--warning .cicosy-widget-icon { color: #c77700; background: #fff6df; }
.cicosy-widget--danger .cicosy-widget-icon { color: #dc3545; background: #fff0f1; }
.cicosy-widget--info .cicosy-widget-icon { color: #0a94b2; background: #e9faff; }
.cicosy-widget--secondary .cicosy-widget-icon { color: #6c757d; background: #f2f4f7; }

.cicosy-widget-split {
  justify-content: space-between;
}

.cicosy-widget-split__left {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
}

.cicosy-widget-split__value {
  flex: 0 0 auto;
  color: var(--cicosy-widget-heading);
  font-size: 1.1rem;
}

.cicosy-widget-solid {
  border: 0;
  color: #fff;
  background: var(--cicosy-widget-solid-tone, #1b5e20);
  box-shadow: none;
}

.cicosy-widget-solid .cicosy-widget-value,
.cicosy-widget-solid .cicosy-widget-label,
.cicosy-widget-crypto .cicosy-widget-value,
.cicosy-widget-crypto .cicosy-widget-label {
  color: #fff;
}

.cicosy-widget-solid .cicosy-widget-icon,
.cicosy-widget-crypto .cicosy-widget-icon {
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
}

.cicosy-widget-solid--primary,
.cicosy-widget-solid--indigo { --cicosy-widget-solid-tone: #1b5e20; }
.cicosy-widget-solid--green { --cicosy-widget-solid-tone: #229b67; }
.cicosy-widget-solid--success { --cicosy-widget-solid-tone: #198754; }
.cicosy-widget-solid--blue { --cicosy-widget-solid-tone: #317bdc; }
.cicosy-widget-solid--cyan { --cicosy-widget-solid-tone: #13a8d0; }
.cicosy-widget-solid--amber { --cicosy-widget-solid-tone: #f5a400; }
.cicosy-widget-solid--warning { --cicosy-widget-solid-tone: #f5a400; }
.cicosy-widget-solid--red,
.cicosy-widget-solid--danger { --cicosy-widget-solid-tone: #d7465b; }
.cicosy-widget-solid--pink { --cicosy-widget-solid-tone: #ee3d7a; }
.cicosy-widget-solid--purple { --cicosy-widget-solid-tone: #7657ea; }

.cicosy-widget-crypto {
  display: grid;
  gap: 1.25rem;
  min-height: 9.625rem;
  padding: 1.35rem;
  border: 0;
  color: #fff;
  background: var(--cicosy-widget-solid-tone, #1b5e20);
}

.cicosy-widget-crypto__head {
  display: flex;
  align-items: center;
  gap: 0.95rem;
}

.cicosy-widget-crypto__changes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.cicosy-widget-crypto__changes span {
  display: grid;
  gap: 0.35rem;
}

.cicosy-widget-crypto__changes small {
  color: rgba(255, 255, 255, 0.78);
  font-weight: 700;
}

.cicosy-widget-crypto__changes strong {
  color: #dcfff0;
}

.cicosy-widget-progress.cicosy-widget-card {
  min-height: 7.875rem;
  padding: 1.25rem;
}

.cicosy-widget-progress-bar {
  margin-top: 0.85rem;
}

.cicosy-widget-change-card {
  display: grid;
  gap: 1rem;
  min-height: 8.375rem;
  padding: 1.25rem;
}

.cicosy-widget-change-card__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.cicosy-widget-change-pill {
  width: fit-content;
  border-radius: 999px;
  padding: 0.25rem 0.65rem;
  color: #198754;
  background: #dcf7e8;
  font-size: 0.75rem;
  font-weight: 700;
}

.cicosy-widget-change-pill.is-negative {
  color: #dc3545;
  background: #ffe0e6;
}

.cicosy-widget-weather-grid {
  display: grid;
  grid-template-columns: 2fr 2fr minmax(0, 0.95fr) minmax(0, 0.95fr);
  gap: 1.25rem;
  align-items: stretch;
}

.cicosy-widget-weather-hero,
.cicosy-widget-weather-wide,
.cicosy-widget-weather-small,
.cicosy-widget-weather-mini,
.cicosy-widget-forecast-strip {
  padding: 1.25rem;
}

.cicosy-widget-weather-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 12.5rem;
  border: 0;
  color: #fff;
  background: linear-gradient(120deg, #6078e8, #7a56b7);
}

.cicosy-widget-weather-city {
  font-weight: 700;
  opacity: 0.95;
}

.cicosy-widget-weather-temp {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0.5rem 0 0.75rem;
}

.cicosy-widget-weather-temp i,
.cicosy-widget-weather-wide > i,
.cicosy-widget-weather-small > i {
  font-size: 2.2rem;
}

.cicosy-widget-weather-temp strong {
  font-size: 2.45rem;
  line-height: 1;
}

.cicosy-widget-weather-temp small,
.cicosy-widget-weather-hero strong {
  color: rgba(255, 255, 255, 0.92);
}

.cicosy-widget-weather-wide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 9.375rem;
}

.cicosy-widget-weather-wide strong {
  display: block;
  color: var(--cicosy-widget-heading);
  font-size: 2.2rem;
}

.cicosy-widget-weather-wide .cicosy-widget-label {
  display: block;
}

.cicosy-widget-weather-wide > i,
.cicosy-widget-weather-small > i,
.cicosy-widget-weather-mini i {
  color: #f59f00;
}

.cicosy-widget-weather-small,
.cicosy-widget-weather-mini {
  display: grid;
  place-items: center;
  text-align: center;
}

.cicosy-widget-weather-small {
  min-height: 9.375rem;
}

.cicosy-widget-weather-small strong {
  display: grid;
  gap: 0.25rem;
  color: var(--cicosy-widget-heading);
}

.cicosy-widget-weather-small small {
  color: var(--cicosy-widget-muted);
  font-weight: 400;
}

.cicosy-widget-weather-mini {
  gap: 0.75rem;
  min-height: 6rem;
}

.cicosy-widget-weather-mini__top {
  display: flex;
  justify-content: space-between;
  width: 100%;
  color: var(--cicosy-widget-muted);
  font-size: 0.78rem;
}

.cicosy-widget-weather-mini p {
  margin: 0;
  color: var(--cicosy-widget-heading);
  font-size: 1.05rem;
}

.cicosy-widget-forecast-strip {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.65rem;
}

.cicosy-widget-forecast-day {
  min-height: 7rem;
  padding: 0.85rem 0.5rem;
  border: 0;
  border-radius: 0.5rem;
  color: var(--cicosy-widget-heading);
  background: transparent;
  text-align: center;
  transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.cicosy-widget-forecast-day:hover,
.cicosy-widget-forecast-day:focus-visible {
  background: #f1f3ff;
  transform: translateY(-0.0625rem);
}

.cicosy-widget-forecast-day.is-active {
  color: #fff;
  background: #1b5e20;
}

.cicosy-widget-forecast-day span,
.cicosy-widget-forecast-day strong {
  display: block;
}

.cicosy-widget-forecast-day i {
  display: block;
  margin: 0.65rem 0;
  font-size: 1.45rem;
}

.cicosy-widget-product-tile {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 5.875rem;
  padding: 1rem;
}

.cicosy-widget-product-thumb {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 3.875rem;
  height: 3.875rem;
  border: 1px solid #e1e6fb;
  border-radius: 0.5rem;
  color: var(--cicosy-widget-tone, #1b5e20);
  background: linear-gradient(145deg, #e7ebff, #f7f9ff);
  font-size: 1.65rem;
}

.cicosy-widget-product-title {
  display: block;
  color: var(--cicosy-widget-heading);
  font-size: 0.92rem;
}

.cicosy-widget-product-row {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 0;
}

.cicosy-widget-panel {
  overflow: hidden;
}

.cicosy-widget-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 3.125rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid var(--cicosy-widget-border);
}

.cicosy-widget-panel__head h3 {
  margin: 0;
  color: var(--cicosy-widget-heading);
  font-size: 0.98rem;
  font-weight: 700;
}

.cicosy-widget-panel--live .cicosy-widget-panel__head h3::before {
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  margin-right: 0.45rem;
  border-radius: 50%;
  background: #198754;
  box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.13);
  content: "";
}

.cicosy-widget-panel__body {
  padding: 1.125rem 1.25rem;
}

.cicosy-widget-list-row,
.cicosy-widget-device-row,
.cicosy-widget-browser-row {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.65rem 0;
}

.cicosy-widget-list-row + .cicosy-widget-list-row,
.cicosy-widget-device-row + .cicosy-widget-device-row,
.cicosy-widget-browser-row + .cicosy-widget-browser-row {
  border-top: 1px solid #edf0fb;
}

.cicosy-widget-list-row .cicosy-widget-icon,
.cicosy-widget-device-row .cicosy-widget-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.375rem;
  font-size: 1rem;
}

.cicosy-widget-list-value {
  flex: 0 0 auto;
  color: var(--cicosy-widget-tone, #1b5e20);
  font-size: 0.86rem;
}

.cicosy-widget-device-row {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 4.625rem;
}

.cicosy-widget-device-number {
  display: grid;
  justify-items: end;
  color: var(--cicosy-widget-heading);
}

.cicosy-widget-inline-track {
  width: 100%;
  height: 0.375rem;
  margin-top: 0.45rem;
  overflow: hidden;
  border-radius: 999px;
  background: #f0f2fc;
}

.cicosy-widget-inline-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--cicosy-widget-tone, #1b5e20);
}

.cicosy-widget-realtime-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.cicosy-widget-realtime-box {
  display: grid;
  place-items: center;
  min-height: 5rem;
  padding: 0.875rem;
  border-radius: 0.25rem;
  background: #f3faf4;
  text-align: center;
}

.cicosy-widget-realtime-box strong {
  color: var(--cicosy-widget-heading);
  font-size: 1.45rem;
}

.cicosy-widget-bar-row {
  display: grid;
  grid-template-columns: minmax(8rem, 9.375rem) minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 0.65rem 0;
}

.cicosy-widget-bar-info {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
  color: var(--cicosy-widget-heading);
  font-size: 0.82rem;
}

.cicosy-widget-bar-info span {
  min-width: 0;
  overflow: hidden;
  color: #44516a;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cicosy-widget-pipeline-row {
  display: grid;
  gap: 0.45rem;
  padding: 0.65rem 0;
}

.cicosy-widget-pipeline-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--cicosy-widget-heading);
  font-size: 0.86rem;
}

.cicosy-widget-browser-row {
  min-height: 3rem;
}

.cicosy-widget-browser-row span:nth-child(2) {
  flex: 1 1 auto;
}

.cicosy-widget-browser-mark {
  display: grid;
  place-items: center;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 50%;
  color: #fff;
  background: var(--cicosy-widget-tone, #1b5e20);
  font-size: 0.72rem;
  font-weight: 700;
}

@media (max-width: 1199.98px) {
  .cicosy-widgets-showcase .cicosy-card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cicosy-widget-weather-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cicosy-widget-forecast-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .cicosy-widgets-showcase { gap: 1.1rem; }
  .cicosy-widgets-showcase .cicosy-card-grid--2,
  .cicosy-widgets-showcase .cicosy-card-grid--3,
  .cicosy-widgets-showcase .cicosy-card-grid--4 { grid-template-columns: minmax(0, 1fr); }
  .cicosy-widget-showcase-card > .cicosy-card-shell-header { flex-direction: row; align-items: center; }
  .cicosy-widget-banner { align-items: flex-start; padding: 1rem; }
  .cicosy-widget-banner--welcome .cicosy-widget-banner-content { max-width: 100%; }
  .cicosy-widget-banner-hero-icon { display: none; }
  .cicosy-widget-banner--status { flex-wrap: wrap; }
  .cicosy-widget-banner--status .btn { margin-left: 3.75rem; }
  .cicosy-widget-weather-grid,
  .cicosy-widget-forecast-strip { grid-template-columns: minmax(0, 1fr); }
  .cicosy-widget-realtime-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cicosy-widget-bar-row { grid-template-columns: minmax(0, 1fr); gap: 0.5rem; }
  .cicosy-widget-product { grid-template-columns: 3rem minmax(0, 1fr); }
  .cicosy-widget-product-row { grid-template-columns: 3rem minmax(0, 1fr); }
  .cicosy-widget-product-numbers { grid-column: 2; justify-items: start; }
  .cicosy-widget-device-row { grid-template-columns: 2.375rem minmax(0, 1fr); }
  .cicosy-widget-device-number { grid-column: 2; justify-items: start; }
  .cicosy-widget-person { align-items: flex-start; flex-wrap: wrap; }
  .cicosy-widget-person .btn { margin-left: 3.875rem; }
}

@media (max-width: 479.98px) {
  .cicosy-widget-metric,
  .cicosy-widget-change,
  .cicosy-widget-transaction,
  .cicosy-widget-message { align-items: flex-start; }
  .cicosy-widget-transaction-value { grid-column: 2; justify-items: start; margin-left: 3.875rem; }
  .cicosy-widget-banner-actions { align-items: flex-start; flex-direction: column; }
}

/* Card widget reference set */
.cicosy-card-widgets-showcase {
  gap: 1.75rem;
}

.cicosy-card-widget {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--cicosy-widget-border);
  border-radius: 0.5rem;
  color: #22345a;
  background: #fff;
  box-shadow: 0 0.45rem 1.15rem rgba(27, 94, 32, 0.045);
}

.cicosy-card-widget h3,
.cicosy-card-widget h4 {
  margin: 0;
  color: var(--cicosy-widget-heading);
  font-family: "Nunito", sans-serif;
  font-weight: 700;
  line-height: 1.25;
}

.cicosy-card-widget h3 {
  font-size: 1.08rem;
}

.cicosy-card-widget p {
  margin: 0;
}

.cicosy-card-widget-body,
.cicosy-card-widget-settings .cicosy-card-widget-body {
  display: grid;
  gap: 0.9rem;
  padding: 1.25rem;
}

.cicosy-card-widget-muted,
.cicosy-card-widget-byline,
.cicosy-card-widget-meta-row,
.cicosy-card-widget-panel-head p,
.cicosy-card-widget-content p,
.cicosy-card-widget-content small,
.cicosy-card-widget-payment-copy span,
.cicosy-card-widget-review-copy p,
.cicosy-card-widget-review-customer small,
.cicosy-card-widget-shipment-head span,
.cicosy-card-widget-route small,
.cicosy-card-widget-review-footer,
.cicosy-card-widget-earning-row small {
  color: var(--cicosy-widget-muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.cicosy-card-widget-meta-row,
.cicosy-card-widget-byline,
.cicosy-card-widget-price-row,
.cicosy-card-widget-payment-top,
.cicosy-card-widget-payment-bottom,
.cicosy-card-widget-panel-head,
.cicosy-card-widget-review-top,
.cicosy-card-widget-review-footer,
.cicosy-card-widget-gift-head,
.cicosy-card-widget-shipment-head,
.cicosy-card-widget-bank-grid,
.cicosy-card-widget-profile-stats,
.cicosy-card-widget-mutuals,
.cicosy-card-widget-friend-actions,
.cicosy-card-widget-solid-stat {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.cicosy-card-widget-meta-row,
.cicosy-card-widget-panel-head,
.cicosy-card-widget-review-top,
.cicosy-card-widget-review-footer,
.cicosy-card-widget-gift-head,
.cicosy-card-widget-payment-top,
.cicosy-card-widget-payment-bottom {
  justify-content: space-between;
}

.cicosy-card-widget-blog {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.cicosy-card-widget-blog__media,
.cicosy-card-widget-product__media {
  position: relative;
  display: block;
  overflow: hidden;
  background: #eef8ef;
}

.cicosy-card-widget-blog__media {
  aspect-ratio: 16 / 7.5;
}

.cicosy-card-widget-blog img,
.cicosy-card-widget-product img,
.cicosy-card-widget-gift-card > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cicosy-card-widget-blog img,
.cicosy-card-widget-product img {
  transition: transform 180ms ease;
}

.cicosy-card-widget-blog:hover img,
.cicosy-card-widget-product:hover img {
  transform: scale(1.025);
}

.cicosy-card-widget-read-time {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.4rem 0.75rem;
  border-radius: 999px;
  color: #fff;
  background: #1b5e20;
  font-size: 0.78rem;
  font-weight: 700;
}

.cicosy-card-widget-byline {
  flex-wrap: wrap;
}

.cicosy-card-widget-byline span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.cicosy-card-widget-product {
  display: flex;
  flex-direction: column;
}

.cicosy-card-widget-product__media {
  aspect-ratio: 4 / 3;
}

.cicosy-card-widget-product__media .badge,
.cicosy-card-widget-product__media .cicosy-badge {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
}

.cicosy-card-widget-product__media .cicosy-card-widget-icon-button {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
}

.cicosy-card-widget-icon-button {
  display: inline-grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  border: 1px solid var(--cicosy-widget-border);
  border-radius: 0.45rem;
  color: #111827;
  background: #fff;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.cicosy-card-widget-icon-button:hover,
.cicosy-card-widget-icon-button:focus-visible,
.cicosy-card-widget-icon-button.is-active {
  border-color: #1b5e20;
  color: #fff;
  background: #1b5e20;
}

.cicosy-card-widget-rating {
  display: inline-flex;
  gap: 0.15rem;
  color: #f59f00;
  font-size: 0.86rem;
}

.cicosy-card-widget-rating .is-muted {
  color: #d8deeb;
}

.cicosy-card-widget-price-row {
  justify-content: flex-start;
}

.cicosy-card-widget-price-row strong {
  color: var(--cicosy-widget-heading);
  font-size: 1.1rem;
}

.cicosy-card-widget-price-row span {
  color: #98a2b3;
  text-decoration: line-through;
}

.cicosy-card-widget-horizontal-profile {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 7.25rem;
  padding: 1.25rem;
}

.cicosy-card-widget-horizontal-profile .btn {
  margin-left: auto;
}

.cicosy-card-widget-content {
  display: grid;
  min-width: 0;
  gap: 0.25rem;
}

.cicosy-card-widget-avatar {
  display: block;
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  object-fit: cover;
}

.cicosy-card-widget-avatar--lg {
  width: 5.125rem;
  height: 5.125rem;
}

.cicosy-card-widget-avatar--xl {
  width: 6rem;
  height: 6rem;
}

.cicosy-card-widget-friend,
.cicosy-card-widget-profile-info {
  display: grid;
  justify-items: center;
  gap: 0.85rem;
  padding: 1.45rem;
  text-align: center;
}

.cicosy-card-widget-friend.is-removing {
  opacity: 0;
  transform: scale(0.97);
  transition: opacity 160ms ease, transform 160ms ease;
}

.cicosy-card-widget-mini-avatars {
  display: inline-flex;
}

.cicosy-card-widget-mini-avatars img {
  width: 1.7rem;
  height: 1.7rem;
  border: 2px solid #fff;
  border-radius: 50%;
  object-fit: cover;
}

.cicosy-card-widget-mini-avatars img + img {
  margin-left: -0.45rem;
}

.cicosy-card-widget-friend-actions {
  width: 100%;
}

.cicosy-card-widget-friend-actions .btn {
  flex: 1 1 0;
}

.cicosy-card-widget-profile-stats {
  justify-content: center;
  width: 100%;
  padding-top: 0.75rem;
  border-top: 1px solid #edf1f7;
}

.cicosy-card-widget-profile-stats span {
  display: grid;
  min-width: 0;
}

.cicosy-card-widget-profile-stats strong {
  color: var(--cicosy-widget-heading);
  font-size: 1.1rem;
}

.cicosy-card-widget-profile-stats small {
  color: var(--cicosy-widget-muted);
  font-size: 0.75rem;
}

.cicosy-card-widget-setting-row {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
}

.cicosy-card-widget-setting-row input[type="range"] {
  width: 100%;
  accent-color: #1b5e20;
}

.cicosy-card-widget-toggle {
  position: relative;
  width: 3.05rem;
  height: 1.65rem;
  border: 1px solid #cfe8d2;
  border-radius: 999px;
  background: #edf7ee;
}

.cicosy-card-widget-toggle::after {
  position: absolute;
  top: 0.2rem;
  left: 0.22rem;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  background: #6b7893;
  transition: transform 160ms ease, background-color 160ms ease;
  content: "";
}

.cicosy-card-widget-toggle.is-on {
  border-color: #1b5e20;
  background: #1b5e20;
}

.cicosy-card-widget-toggle.is-on::after {
  background: #fff;
  transform: translateX(1.35rem);
}

.cicosy-card-widget-gift-card {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
}

.cicosy-card-widget-gift-card > img {
  height: 9.75rem;
  border-radius: 0.5rem;
}

.cicosy-card-widget-payment {
  min-height: 12rem;
  padding: 1.35rem;
  border: 0;
  color: #fff;
  background: #344054;
}

.cicosy-card-widget-payment--primary { background: #1b5e20; }
.cicosy-card-widget-payment--success { background: #177c52; }

.cicosy-card-widget-payment-number {
  display: block;
  margin: 2rem 0;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
}

.cicosy-card-widget-payment-bottom span {
  display: grid;
  gap: 0.2rem;
}

.cicosy-card-widget-payment-bottom small {
  opacity: 0.7;
}

.cicosy-card-widget-list-row {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.9rem 0;
}

.cicosy-card-widget-amount.is-positive { color: #198754; }
.cicosy-card-widget-amount.is-negative { color: #dc3545; }

.cicosy-card-widget-timeline {
  display: grid;
}

.cicosy-card-widget-timeline-item {
  display: grid;
  grid-template-columns: 3.6rem 0.8rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.5rem 0;
}

.cicosy-card-widget-timeline-marker {
  position: relative;
  width: 0.75rem;
  height: 0.75rem;
  margin-top: 0.35rem;
  border-radius: 50%;
  background: #1b5e20;
}

.cicosy-card-widget-timeline-item.is-success .cicosy-card-widget-timeline-marker { background: #198754; }
.cicosy-card-widget-timeline-item.is-warning .cicosy-card-widget-timeline-marker { background: #f59f00; }
.cicosy-card-widget-timeline-item.is-danger .cicosy-card-widget-timeline-marker { background: #dc3545; }

.cicosy-card-widget-timeline-item:not(:last-child) .cicosy-card-widget-timeline-marker::after {
  position: absolute;
  top: 0.8rem;
  left: 50%;
  width: 1px;
  height: calc(100% + 1.4rem);
  background: #dfe7e1;
  content: "";
}

.cicosy-card-widget-table-wrap {
  overflow-x: auto;
}

.cicosy-card-widget-product-table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
}

.cicosy-card-widget-product-table th,
.cicosy-card-widget-product-table td {
  padding: 0.85rem 0.75rem;
  border-bottom: 1px solid #edf1f7;
  text-align: left;
  vertical-align: middle;
}

.cicosy-card-widget-product-table th {
  color: #52617d;
  background: #edf7ee;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.cicosy-card-widget-product-cell {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.cicosy-card-widget-product-cell img {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.45rem;
  object-fit: cover;
}

.cicosy-card-widget-payment-copy {
  display: grid;
}

.cicosy-card-widget-schedule-board,
.cicosy-card-widget-reviews,
.cicosy-card-widget-region-card,
.cicosy-card-widget-payment-methods,
.cicosy-card-widget-earning {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
}

.cicosy-card-widget-panel-head {
  min-width: 0;
}

.cicosy-card-widget-tabs {
  display: inline-flex;
  width: fit-content;
  padding: 0.25rem;
  border-radius: 999px;
  background: #edf7ee;
}

.cicosy-card-widget-tabs button {
  min-height: 2rem;
  padding: 0.35rem 0.85rem;
  border: 0;
  border-radius: 999px;
  color: #1b5e20;
  background: transparent;
  font-weight: 700;
}

.cicosy-card-widget-tabs button[aria-selected="true"] {
  color: #fff;
  background: #1b5e20;
}

.cicosy-card-widget-shipment {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem 0;
  border-top: 1px solid #edf1f7;
}

.cicosy-card-widget-shipment-head {
  justify-content: flex-start;
}

.cicosy-card-widget-shipment-head .cicosy-badge,
.cicosy-card-widget-shipment-head .badge {
  margin-left: auto;
}

.cicosy-card-widget-route {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  padding-left: 3.85rem;
}

.cicosy-card-widget-route span {
  display: grid;
  gap: 0.2rem;
  padding: 0.7rem;
  border-radius: 0.35rem;
  background: #f8fcf8;
}

.cicosy-card-widget-review-top {
  align-items: flex-start;
}

.cicosy-card-widget-search {
  position: relative;
  display: block;
  width: min(100%, 15rem);
}

.cicosy-card-widget-search i {
  position: absolute;
  top: 50%;
  left: 0.75rem;
  color: #111827;
  transform: translateY(-50%);
}

.cicosy-card-widget-search input {
  width: 100%;
  min-height: 2.35rem;
  padding: 0.4rem 0.75rem 0.4rem 2.25rem;
  border: 1px solid #cfe8d2;
  border-radius: 0.35rem;
}

.cicosy-card-widget-review-head,
.cicosy-card-widget-review-row {
  display: grid;
  grid-template-columns: 2.25rem minmax(10rem, 1fr) minmax(12rem, 1.35fr) 4.5rem 2.5rem;
  gap: 0.85rem;
  align-items: center;
}

.cicosy-card-widget-review-head {
  padding: 0.7rem 0.85rem;
  color: #52617d;
  background: #edf7ee;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

.cicosy-card-widget-review-row {
  min-height: 5.75rem;
  padding: 0.8rem 0.85rem;
  border-bottom: 1px solid #edf1f7;
}

.cicosy-card-widget-review-customer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.cicosy-card-widget-review-customer span {
  display: grid;
  min-width: 0;
}

.cicosy-card-widget-review-copy {
  min-width: 0;
}

.cicosy-card-widget-review-row.is-hidden {
  display: none;
}

.cicosy-card-widget-region-card {
  align-content: start;
}

.cicosy-card-widget-map {
  display: grid;
  place-items: center;
  min-height: 10rem;
  border: 1px dashed #cfe8d2;
  border-radius: 0.5rem;
  color: #1b5e20;
  background: #f8fcf8;
  text-align: center;
}

.cicosy-card-widget-map i {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 2rem;
}

.cicosy-card-widget-region-row {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 3rem;
  gap: 0.75rem;
  align-items: center;
}

.cicosy-card-widget-bank-grid {
  align-items: stretch;
}

.cicosy-card-widget-bank-card {
  display: grid;
  gap: 0.4rem;
  min-height: 9rem;
  padding: 1rem;
  border-radius: 0.65rem;
  color: #fff;
  background: #344054;
}

.cicosy-card-widget-bank-card.is-primary {
  background: #1b5e20;
}

.cicosy-card-widget-bank-card b {
  margin-top: auto;
  font-size: 1.25rem;
}

.cicosy-card-widget-bank-card small {
  opacity: 0.7;
}

.cicosy-card-widget-mini-transactions {
  display: grid;
}

.cicosy-card-widget-earning-row {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  padding: 0.75rem 0;
  border-top: 1px solid #edf1f7;
}

.cicosy-card-widget-earning-row span:nth-child(2) {
  display: grid;
}

.cicosy-card-widget-campaign {
  display: grid;
  gap: 0.9rem;
  padding: 1.25rem;
}

.cicosy-card-widget-solid-stat {
  position: relative;
  min-height: 7.25rem;
  padding: 1.25rem;
  border: 0;
  color: #fff;
  background: #1b5e20;
}

.cicosy-card-widget-solid-stat.is-success { background: #198754; }
.cicosy-card-widget-solid-stat.is-danger { background: #d7465b; }
.cicosy-card-widget-solid-stat.is-warning { background: #f5a400; }
.cicosy-card-widget-solid-stat.is-primary { background: #1b5e20; }

.cicosy-card-widget-solid-icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  font-size: 1.25rem;
}

.cicosy-card-widget-solid-stat span:nth-child(2) {
  display: grid;
}

.cicosy-card-widget-solid-stat strong {
  color: #fff;
  font-size: 1.55rem;
}

.cicosy-card-widget-solid-stat small,
.cicosy-card-widget-solid-stat em {
  color: rgba(255, 255, 255, 0.82);
}

.cicosy-card-widget-solid-stat em {
  margin-left: auto;
  font-style: normal;
  font-weight: 700;
}

.cicosy-card-widget-menu {
  position: relative;
}

.cicosy-card-widget-menu__items {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  z-index: 30;
  min-width: 11.5rem;
  padding: 0.35rem;
  border: 1px solid #cfe8d2;
  border-radius: 0.45rem;
  background: #fff;
  box-shadow: 0 0.75rem 1.5rem rgba(27, 94, 32, 0.12);
}

.cicosy-card-widget-menu__items button {
  display: block;
  width: 100%;
  padding: 0.55rem 0.7rem;
  border: 0;
  border-radius: 0.3rem;
  color: #344054;
  background: transparent;
  text-align: left;
}

.cicosy-card-widget-menu__items button:hover {
  color: #1b5e20;
  background: #eef8ef;
}

.cicosy-card-widget-gift-modal {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(17, 24, 39, 0.42);
}

.cicosy-card-widget-gift-modal[hidden] {
  display: none;
}

.cicosy-card-widget-gift-dialog {
  width: min(100%, 31rem);
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 1.25rem 3rem rgba(17, 24, 39, 0.22);
}

.cicosy-card-widget-gift-dialog__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #cfe8d2;
}

.cicosy-card-widget-gift-dialog__body {
  display: grid;
  gap: 0.85rem;
  padding: 1.25rem;
}

.cicosy-card-widget-gift-dialog label {
  display: grid;
  gap: 0.35rem;
  color: var(--cicosy-widget-muted);
  font-size: 0.86rem;
}

.cicosy-card-widget-gift-dialog input,
.cicosy-card-widget-gift-dialog textarea {
  width: 100%;
  min-height: 2.45rem;
  padding: 0.5rem 0.7rem;
  border: 1px solid #111827;
  border-radius: 0.25rem;
}

@media (max-width: 1199.98px) {
  .cicosy-card-widget-review-head,
  .cicosy-card-widget-review-row {
    grid-template-columns: 2.25rem minmax(10rem, 1fr) minmax(11rem, 1fr) 4.5rem 2.5rem;
  }
}

@media (max-width: 767.98px) {
  .cicosy-card-widget-horizontal-profile {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .cicosy-card-widget-horizontal-profile .btn {
    width: 100%;
    margin-left: 4rem;
  }

  .cicosy-card-widget-bank-grid,
  .cicosy-card-widget-route {
    flex-direction: column;
  }

  .cicosy-card-widget-review-top {
    flex-direction: column;
  }

  .cicosy-card-widget-search {
    width: 100%;
  }

  .cicosy-card-widget-review-head {
    display: none;
  }

  .cicosy-card-widget-review-row {
    grid-template-columns: 2rem minmax(0, 1fr) 2.5rem;
    grid-template-areas:
      "check customer menu"
      ". review review"
      ". time time";
  }

  .cicosy-card-widget-review-row > .form-check-input { grid-area: check; }
  .cicosy-card-widget-review-customer { grid-area: customer; }
  .cicosy-card-widget-review-copy { grid-area: review; }
  .cicosy-card-widget-review-row > time { grid-area: time; color: var(--cicosy-widget-muted); }
  .cicosy-card-widget-review-row > .cicosy-card-widget-menu { grid-area: menu; }

  .cicosy-card-widget-region-row,
  .cicosy-card-widget-list-row,
  .cicosy-card-widget-earning-row,
  .cicosy-card-widget-setting-row {
    grid-template-columns: 2.75rem minmax(0, 1fr);
  }

  .cicosy-card-widget-region-row > strong,
  .cicosy-card-widget-list-row > .cicosy-card-widget-amount,
  .cicosy-card-widget-earning-row > .cicosy-badge,
  .cicosy-card-widget-setting-row > strong,
  .cicosy-card-widget-setting-row > .cicosy-card-widget-toggle {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 479.98px) {
  .cicosy-card-widget-body,
  .cicosy-card-widget-settings .cicosy-card-widget-body,
  .cicosy-card-widget-schedule-board,
  .cicosy-card-widget-reviews,
  .cicosy-card-widget-region-card,
  .cicosy-card-widget-payment-methods,
  .cicosy-card-widget-earning,
  .cicosy-card-widget-campaign {
    padding: 1rem;
  }

  .cicosy-card-widget-friend-actions {
    flex-direction: column;
  }

  .cicosy-card-widget-horizontal-profile .btn {
    margin-left: 0;
  }
}

/*--------------------------------------------------------------
# Reusable ECharts
--------------------------------------------------------------*/
.cicosy-echarts-showcase .cicosy-card-grid {
  margin: 0;
}

.cicosy-echart-card {
  min-width: 0;
}

.cicosy-echart {
  width: 100%;
  min-width: 0;
  min-height: 13.75rem;
}

.cicosy-echart--error {
  display: grid;
  place-items: center;
  min-height: 13.75rem;
  padding: 1rem;
  border: 1px dashed #e4a4af;
  border-radius: 0.25rem;
  color: #b4233a;
  background: #fff5f6;
  text-align: center;
}

@media (max-width: 767.98px) {
  .cicosy-echarts-showcase .cicosy-card-grid--2 {
    grid-template-columns: minmax(0, 1fr);
  }

  .cicosy-echart {
    overflow: hidden;
  }
}

/*--------------------------------------------------------------
# Reusable Tables
--------------------------------------------------------------*/
.cicosy-tables-showcase {
  --cicosy-table-border: #cfe8d2;
  --cicosy-table-heading: #1b5e20;
  --cicosy-table-muted: #667085;
  display: grid;
  gap: 1.5rem;
}

.cicosy-tables-showcase .cicosy-card-grid { margin: 0; }
.cicosy-table-section-title { margin: 0; color: var(--cicosy-table-heading); font-family: "Nunito", sans-serif; font-size: 1.35rem; font-weight: 700; }
.cicosy-table-recipe-section { display: grid; gap: 0.75rem; }
.cicosy-table-recipe-card--trial-balance { max-width: 38.75rem; }
.cicosy-table-recipe-card--journal > .cicosy-card-shell-body { padding: 1rem; }
.cicosy-table-recipe-card--trial-balance > .cicosy-card-shell-body { padding: 1rem; }
.cicosy-table-recipe-card--top-accounts {
  max-width: 34.75rem;
}
.cicosy-table-recipe-card--top-accounts > .cicosy-card-shell-body {
  padding: 1rem;
}
.cicosy-table-recipe-card--journal .cicosy-journal-table-card,
.cicosy-table-recipe-card--trial-balance .cicosy-trial-balance-card,
.cicosy-table-recipe-card--top-accounts .cicosy-top-accounts-card {
  width: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.cicosy-table-recipe-card--journal .cicosy-journal-table-header { padding: 0 0 0.7rem; }
.cicosy-table-recipe-card--journal .cicosy-journal-table-scroll { padding: 0; }
.cicosy-table-recipe-card--journal .cicosy-journal-table-footer-space { min-height: 1rem; }
.cicosy-table-recipe-card--trial-balance .cicosy-trial-balance-header { padding: 0 0 0.55rem; }
.cicosy-table-recipe-card--trial-balance .cicosy-trial-balance-scroll { padding: 0; }
.cicosy-table-recipe-card--trial-balance .cicosy-trial-balance-as-of { margin: 0.65rem 0 0; }
.cicosy-table-recipe-card--top-accounts .cicosy-top-accounts-header { padding: 0 0 0.55rem; }
.cicosy-table-recipe-card--top-accounts .cicosy-top-accounts-scroll { padding: 0; }
.cicosy-table-recipe-card--top-accounts .cicosy-top-accounts-link { margin: 0.72rem 0 0; }
.cicosy-table-recipe-card--financial-statement > .cicosy-card-shell-body {
  display: flex;
  min-height: 0;
  padding: 1rem;
}
.cicosy-table-recipe-card--financial-statement .cicosy-financial-summary-card {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.cicosy-table-recipe-card--financial-statement .cicosy-financial-summary-header {
  padding: 0 0 0.7rem;
}
.cicosy-table-recipe-card--financial-statement .cicosy-financial-summary-body {
  padding: 0;
}
.cicosy-table-responsive { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.cicosy-table-container { width: 100%; }

.cicosy-table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  color: #23314d;
  font-size: 0.875rem;
}

.cicosy-data-table .cicosy-table {
  table-layout: auto;
}

.cicosy-table:not(.cicosy-invoice-table) th:not([class*="cicosy-col-"]),
.cicosy-table:not(.cicosy-invoice-table) td:not([class*="cicosy-col-"]) {
  min-width: 6rem;
}

.cicosy-table .cicosy-col-check { width: 2.5rem; min-width: 2.5rem; text-align: center; }
.cicosy-table .cicosy-col-id { width: 6.5rem; min-width: 6.5rem; }
.cicosy-table .cicosy-col-person { width: 11.5rem; min-width: 11.5rem; }
.cicosy-table .cicosy-col-primary { width: 11.5rem; min-width: 11.5rem; }
.cicosy-table .cicosy-col-secondary { width: 8.75rem; min-width: 8.75rem; }
.cicosy-table .cicosy-col-tertiary { width: 9.5rem; min-width: 9.5rem; }
.cicosy-table .cicosy-col-office { width: 7.25rem; min-width: 7.25rem; }
.cicosy-table .cicosy-col-number { width: 4.25rem; min-width: 4.25rem; }
.cicosy-table .cicosy-col-date { width: 7rem; min-width: 7rem; }
.cicosy-table .cicosy-col-money { width: 7.25rem; min-width: 7.25rem; }
.cicosy-table .cicosy-col-status { width: 6rem; min-width: 6rem; }
.cicosy-table .cicosy-col-actions { width: 4.25rem; min-width: 4.25rem; }

.cicosy-table .cicosy-col-check,
.cicosy-table .cicosy-col-id,
.cicosy-table .cicosy-col-number,
.cicosy-table .cicosy-col-date,
.cicosy-table .cicosy-col-money,
.cicosy-table .cicosy-col-status,
.cicosy-table .cicosy-col-actions {
  white-space: nowrap;
}

.cicosy-table .cicosy-col-person,
.cicosy-table .cicosy-col-primary,
.cicosy-table .cicosy-col-secondary,
.cicosy-table .cicosy-col-tertiary,
.cicosy-table .cicosy-col-office {
  overflow-wrap: anywhere;
}

.cicosy-table .cicosy-col-actions {
  text-align: right;
}

.cicosy-table caption { caption-side: top; padding: 0 0 0.75rem; color: var(--cicosy-table-muted); text-align: left; }
.cicosy-table th,
.cicosy-table td { padding: 0.55rem 0.8rem; border-bottom: 1px solid #e5ebf8; vertical-align: middle; }
.cicosy-table thead th { color: #52617d; background: #edf7ee; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; white-space: nowrap; }
.cicosy-table tfoot th { background: #f8fcf8; font-weight: 700; }
.cicosy-table a { color: #1b5e20; }
.cicosy-table--striped tbody tr:nth-child(even) { background: #f8fcf8; }
.cicosy-table--hover tbody tr { transition: background-color 140ms ease; }
.cicosy-table--hover tbody tr:hover { background: #f3f6ff; }
.cicosy-table--bordered th,
.cicosy-table--bordered td { border: 1px solid #dfe6f5; }
.cicosy-table--small th,
.cicosy-table--small td { padding: 0.55rem 0.75rem; }
.cicosy-table--borderless th,
.cicosy-table--borderless td { border-bottom-color: transparent; }
.cicosy-table--dark { color: #eef2ff; background: #24304a; }
.cicosy-table--dark thead th { color: #fff; background: #182238; }
.cicosy-table--dark th,
.cicosy-table--dark td { border-color: #394763; }
.cicosy-table--dark tbody tr:hover { background: #303e5b; }
.cicosy-table-row--success { background: #effaf4; }
.cicosy-table-row--warning { background: #fff9ea; }
.cicosy-table-row--danger { background: #fff2f3; }
.cicosy-table-row--info { background: #f0fbfd; }
.cicosy-table-nested-row > td { padding: 1rem 1.5rem; background: #f8fcf8; }
.cicosy-table-nested-row .cicosy-table { min-width: 28rem; background: #fff; }

.cicosy-journal-table-card {
  overflow: hidden;
  border: 1px solid var(--cicosy-table-border);
  border-radius: 4px;
  background: #fff;
}

.cicosy-journal-table-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1rem 0.55rem;
}

.cicosy-journal-table-header h2 {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-weight: 700;
}

.cicosy-journal-table-header a {
  color: var(--cicosy-dashboard-primary);
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.cicosy-journal-table-header a:hover,
.cicosy-journal-table-header a:focus-visible {
  color: var(--cicosy-dashboard-primary);
  text-decoration: underline;
}

.cicosy-journal-table-scroll {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 0 1rem;
}

.cicosy-journal-table {
  width: 100%;
  min-width: 74rem;
  border-collapse: collapse;
  color: var(--cicosy-text-body);
}

.cicosy-journal-table th,
.cicosy-journal-table td {
  padding: 0.74rem 0.85rem;
  border-bottom: 1px solid #edf1f7;
  vertical-align: middle;
  white-space: nowrap;
}

.cicosy-journal-table thead th {
  color: var(--cicosy-text-strong);
  background: #f8fafc;
  font-weight: 700;
  text-align: left;
}

.cicosy-journal-table tbody tr:last-child td {
  border-bottom: 0;
}

.cicosy-journal-table tbody tr:hover {
  background: var(--cicosy-dashboard-primary-soft);
}

.cicosy-journal-table-id {
  color: var(--cicosy-text-strong);
  font-weight: 800;
  text-decoration: none;
}

.cicosy-journal-table-id:hover,
.cicosy-journal-table-id:focus-visible {
  color: var(--cicosy-dashboard-primary);
  text-decoration: underline;
}

.cicosy-journal-table-amount {
  min-width: 7.25rem;
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}

.cicosy-journal-table-status {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--cicosy-text-strong);
  font-weight: 700;
  white-space: nowrap;
}

.cicosy-journal-table-status i {
  color: var(--cicosy-dashboard-primary);
  line-height: 1;
}

.cicosy-journal-table-empty {
  padding: 2rem 1rem !important;
  color: var(--cicosy-table-muted);
  text-align: center;
}

.cicosy-journal-table-footer-space {
  min-height: 1.55rem;
}

.cicosy-trial-balance-card {
  width: min(100%, 38.75rem);
  overflow: visible;
  border: 1px solid var(--cicosy-table-border);
  border-radius: 4px;
  background: #fff;
}

.cicosy-trial-balance-header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.22rem;
  min-height: 1.25rem;
  padding: 0.875rem 0.75rem 0.25rem;
}

.cicosy-trial-balance-header h2 {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-weight: 700;
}

.cicosy-trial-balance-info {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 1.3rem;
  height: 1.3rem;
  color: var(--cicosy-text-muted);
  border-radius: 50%;
  cursor: help;
}

.cicosy-trial-balance-info i {
  line-height: 1;
}

.cicosy-trial-balance-info:focus-visible {
  outline: 2px solid var(--cicosy-dashboard-primary);
  outline-offset: 2px;
}

.cicosy-trial-balance-tooltip {
  position: absolute;
  z-index: 2;
  top: calc(100% + 0.25rem);
  left: 50%;
  width: max-content;
  max-width: 14rem;
  padding: 0.5rem 0.625rem;
  color: #fff;
  background: #10213b;
  border-radius: 0.25rem;
  box-shadow: 0 0.375rem 1rem rgba(15, 33, 59, 0.18);
  font-weight: 400;
  opacity: 0;
  pointer-events: none;
  text-align: left;
  transform: translate(-50%, -0.25rem);
  transition: opacity 140ms ease, transform 140ms ease;
}

.cicosy-trial-balance-info:hover .cicosy-trial-balance-tooltip,
.cicosy-trial-balance-info:focus-visible .cicosy-trial-balance-tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
}

.cicosy-trial-balance-scroll {
  overflow-x: auto;
  padding: 0 0.75rem;
  scrollbar-width: thin;
  scrollbar-color: #b9c5d4 transparent;
}

.cicosy-trial-balance-table {
  width: 100%;
  min-width: 34.5rem;
  border-collapse: collapse;
  color: var(--cicosy-text-body);
}

.cicosy-trial-balance-table th,
.cicosy-trial-balance-table td {
  min-height: 1.6875rem;
  padding: 0.38rem 0.5rem;
  border-bottom: 1px solid #edf1f5;
  vertical-align: middle;
  white-space: nowrap;
}

.cicosy-trial-balance-table thead th {
  color: var(--cicosy-text-strong);
  background: #f8fafc;
  border-bottom-color: #d8e0e9;
  font-weight: 700;
  text-align: left;
}

.cicosy-trial-balance-table tbody th {
  color: var(--cicosy-text-strong);
  font-weight: 700;
  text-align: left;
}

.cicosy-trial-balance-number {
  min-width: 7.25rem;
  color: var(--cicosy-text-body);
  font-variant-numeric: tabular-nums;
  text-align: right !important;
}

.cicosy-trial-balance-net {
  color: var(--cicosy-text-strong);
  font-weight: 700;
}

.cicosy-trial-balance-net.is-negative {
  color: var(--bs-danger);
}

.cicosy-trial-balance-total-row th,
.cicosy-trial-balance-total-row td {
  color: var(--cicosy-dashboard-primary);
  background: var(--cicosy-dashboard-primary-soft);
  border-top: 1px solid #d8e0e9;
  border-bottom: 0;
  font-weight: 700;
}

.cicosy-trial-balance-total-row .is-negative {
  color: var(--cicosy-dashboard-primary);
}

.cicosy-trial-balance-as-of {
  margin: 0.45rem 0.8125rem 0.75rem;
  color: var(--cicosy-table-muted);
}

.cicosy-trial-balance-empty {
  padding: 2rem 0.5rem !important;
  color: var(--cicosy-table-muted);
  text-align: center;
}

.cicosy-top-accounts-card {
  width: min(100%, 34.75rem);
  overflow: hidden;
  border: 1px solid var(--cicosy-table-border);
  border-radius: 4px;
  background: #fff;
}

.cicosy-top-accounts-header {
  padding: 0.875rem 0.75rem 0.5rem;
}

.cicosy-top-accounts-header h2 {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.cicosy-top-accounts-header h2 span {
  color: var(--cicosy-text-muted);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-md);
  font-weight: 600;
}

.cicosy-top-accounts-header p {
  margin: 0.15rem 0 0;
  color: var(--cicosy-table-muted);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.cicosy-top-accounts-scroll {
  width: 100%;
  overflow-x: auto;
  padding: 0 0.75rem;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: #b9c5d4 transparent;
}

.cicosy-top-accounts-table {
  width: 100%;
  min-width: 24rem;
  border-collapse: collapse;
  color: var(--cicosy-text-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.cicosy-top-accounts-table th,
.cicosy-top-accounts-table td {
  min-height: 1.6875rem;
  padding: 0.45rem 0.5rem;
  border-bottom: 1px solid #edf1f5;
  vertical-align: middle;
  white-space: nowrap;
}

.cicosy-top-accounts-table thead th {
  color: var(--cicosy-text-strong);
  background: #f8fafc;
  border-bottom-color: #d8e0e9;
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-align: left;
}

.cicosy-top-accounts-table tbody th {
  color: var(--cicosy-text-strong);
  font-weight: 700;
  text-align: left;
}

.cicosy-top-accounts-table tbody tr:last-child th,
.cicosy-top-accounts-table tbody tr:last-child td {
  border-bottom: 0;
}

.cicosy-top-accounts-number {
  width: 8rem;
  min-width: 8rem;
  color: var(--cicosy-text-strong);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right !important;
}

.cicosy-top-accounts-number.is-negative {
  color: var(--bs-danger);
  font-weight: 400;
}

.cicosy-top-accounts-empty {
  padding: 2rem 0.5rem !important;
  color: var(--cicosy-table-muted);
  text-align: center;
}

.cicosy-top-accounts-link {
  display: inline-flex;
  margin: 0.45rem 0.75rem 0.75rem;
  color: var(--cicosy-dashboard-primary);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-decoration: none;
}

.cicosy-top-accounts-link:hover,
.cicosy-top-accounts-link:focus-visible {
  color: var(--cicosy-dashboard-primary);
  text-decoration: underline;
}

.cicosy-financial-statements-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  width: 100%;
  align-items: stretch;
}

.cicosy-financial-summary-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid var(--cicosy-table-border);
  border-radius: 4px;
  background: #fff;
}

.cicosy-financial-summary-header {
  flex: 0 0 auto;
  padding: 0.875rem 0.75rem 0.45rem;
}

.cicosy-financial-summary-header h2 {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-weight: 700;
}

.cicosy-financial-summary-header h2 span {
  color: var(--cicosy-text-muted);
  font-family: var(--cicosy-font-body);
  font-weight: 600;
}

.cicosy-financial-summary-header p {
  margin: 0.15rem 0 0;
  color: var(--cicosy-table-muted);
}

.cicosy-financial-summary-body,
.cicosy-financial-summary-rows,
.cicosy-financial-summary-pane,
.cicosy-financial-summary-pane .cicosy-financial-summary-rows {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
}

.cicosy-financial-summary-body {
  padding: 0 0.75rem 0.75rem;
}

.cicosy-financial-summary-panes {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}

.cicosy-financial-summary-pane {
  min-width: 0;
}

.cicosy-financial-summary-pane-title {
  display: flex;
  align-items: center;
  min-height: 1.6875rem;
  margin: 0;
  padding: 0.3125rem 0.5rem;
  border-bottom: 1px solid #d8e0e9;
  background: #f8fafc;
  color: var(--cicosy-text-strong);
  font-weight: 700;
}

.cicosy-financial-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  min-height: 1.6875rem;
  padding: 0.3125rem 0.5rem;
  border-bottom: 1px solid #edf1f5;
  color: var(--cicosy-text-body);
}

.cicosy-financial-summary-label {
  min-width: 0;
}

.cicosy-financial-summary-value {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.cicosy-financial-summary-row.is-negative .cicosy-financial-summary-value {
  color: var(--bs-danger);
  font-weight: 400;
}

.cicosy-financial-summary-row.is-subtotal,
.cicosy-financial-summary-row.is-final {
  color: var(--cicosy-dashboard-primary);
  background: var(--cicosy-dashboard-primary-soft);
  font-weight: 700;
}

.cicosy-financial-summary-row.is-subtotal .cicosy-financial-summary-value,
.cicosy-financial-summary-row.is-final .cicosy-financial-summary-value {
  color: var(--cicosy-dashboard-primary);
  font-weight: 700;
}

.cicosy-financial-summary-row.is-strong {
  color: var(--cicosy-text-strong);
  font-weight: 700;
}

.cicosy-financial-summary-row.is-final {
  margin-top: auto;
  border-top: 1px solid #d8e0e9;
  border-bottom: 0;
}

.cicosy-financial-summary-empty {
  padding: 2rem 0.5rem;
  color: var(--cicosy-table-muted);
  text-align: center;
}

@media (min-width: 40rem) {
  .cicosy-financial-summary-panes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 48rem) {
  .cicosy-financial-statements-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cicosy-financial-statements-grid > :last-child {
    grid-column: 1 / -1;
  }
}

@media (min-width: 90rem) {
  .cicosy-financial-statements-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cicosy-financial-statements-grid > :last-child {
    grid-column: auto;
  }
}

@media (max-width: 767.98px) {
  .cicosy-journal-table-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }

  .cicosy-journal-table th,
  .cicosy-journal-table td {
    padding: 0.68rem 0.8rem 0.68rem 0;
  }

  .cicosy-trial-balance-card {
    width: 100%;
  }

  .cicosy-top-accounts-card {
    width: 100%;
  }

  .cicosy-trial-balance-header {
    padding: 1rem 1rem 0.35rem;
  }

  .cicosy-top-accounts-header {
    padding: 1rem 1rem 0.35rem;
  }

  .cicosy-trial-balance-scroll {
    padding: 0 1rem;
  }

  .cicosy-top-accounts-scroll {
    padding: 0 1rem;
  }

  .cicosy-trial-balance-as-of {
    margin: 0.625rem 1rem 0.95rem;
  }

  .cicosy-top-accounts-link {
    margin: 0.625rem 1rem 0.95rem;
  }

  .cicosy-financial-summary-header,
  .cicosy-financial-summary-body {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

.cicosy-table-user { display: flex; align-items: center; gap: 0.7rem; min-width: 11rem; }
.cicosy-table-user > span:last-child { display: grid; min-width: 0; }
.cicosy-table-user strong { color: var(--cicosy-table-heading); font-weight: 600; }
.cicosy-table-user small { color: var(--cicosy-table-muted); }
.cicosy-table-avatar { width: 2.25rem; height: 2.25rem; flex: 0 0 auto; border-radius: 50%; object-fit: cover; }
.cicosy-table-avatar--initials { display: grid; place-items: center; color: #1b5e20; background: #eef8ef; font-weight: 700; }

.cicosy-table-progress { display: grid; gap: 0.4rem; min-width: 10rem; }
.cicosy-table-progress > div:first-child { display: flex; justify-content: space-between; gap: 1rem; }
.cicosy-table-actions { display: flex; justify-content: flex-end; gap: 0.35rem; }
.cicosy-table-actions-heading { text-align: right; }
.cicosy-table-action { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; padding: 0; border: 1px solid #cfe8d2; border-radius: 0.25rem; color: #24417d; background: #f8fcf8; }
.cicosy-table-action :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]) { font-size: 0.9em; line-height: 1; }
.cicosy-table-action:hover,
.cicosy-table-action:focus-visible { border-color: #1b5e20; color: #fff; background: #1b5e20; }
.cicosy-table-action:hover :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]),
.cicosy-table-action:focus-visible :where(.bi, .bx, .ri, [class^="lucide-icon-"], [class*=" lucide-icon-"]) { color: currentColor !important; }
.cicosy-table-action.is-danger { color: #dc3545; }
.cicosy-table-action.is-danger:hover,
.cicosy-table-action.is-danger:focus-visible { border-color: #dc3545; color: #fff; background: #dc3545; }

.cicosy-table-empty { display: grid; justify-items: center; gap: 0.6rem; padding: 2.5rem 1rem; text-align: center; }
.cicosy-table-empty > i { color: #98a2b3; font-size: 2.5rem; }
.cicosy-table-empty h3 { margin: 0; color: var(--cicosy-table-heading); font-size: 1rem; }
.cicosy-table-empty p { margin: 0; color: var(--cicosy-table-muted); }

.cicosy-data-table { display: grid; gap: 0; }
.cicosy-data-table-toolbar,
.cicosy-data-table-footer,
.cicosy-table-heading-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.cicosy-data-table-toolbar { padding: 0 0 1rem; }
.cicosy-data-table-footer { padding: 1rem 0 0; }
.cicosy-data-table-footer p { margin: 0; color: var(--cicosy-table-muted); font-size: 0.85rem; }
.cicosy-data-table-footer .cicosy-pagination-nav { width: auto; min-width: 0; flex: 0 1 auto; }
.cicosy-data-table-footer .cicosy-pagination { justify-content: flex-end; }
.cicosy-data-table-footer .cicosy-pagination-link { white-space: nowrap; }
.cicosy-table-heading-actions { justify-content: flex-end; padding-bottom: 1rem; }
.cicosy-table-heading-actions .btn { display: inline-flex; align-items: center; gap: 0.45rem; }
.cicosy-data-table-toolbar .cicosy-pagination-entries-control { color: var(--cicosy-table-muted); font-size: 0.85rem; }
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select,
.cicosy-data-table-search input { border: 1px solid #cfe8d2; border-radius: 0.25rem; color: #344054; background: #fff; }
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select { min-width: 3rem; height: 25px; min-height: 25px; padding: 4px 1.25rem 4px 0.45rem; accent-color: #1b5e20; font-size: var(--cicosy-text-sm); line-height: 1; }
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select option {
  color: #07162f;
  background: #fff;
}
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select option:checked,
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select option:hover,
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select option:focus {
  color: #064d18;
  background: linear-gradient(#eaf5ec, #eaf5ec);
}
.cicosy-data-table-search { position: relative; display: block; width: min(100%, 15rem); }
.cicosy-data-table-search i { position: absolute; top: 50%; left: 0.8rem; color: #7a879f; transform: translateY(-50%); }
.cicosy-data-table-search input { width: 100%; padding: 0.45rem 0.75rem 0.45rem 2.25rem; }
.cicosy-data-table-toolbar > .cicosy-form-select { width: min(100%, 13rem); flex: 0 1 13rem; }
.cicosy-data-table-toolbar > .cicosy-btn,
.cicosy-data-table-toolbar > .buttons-row { flex: 0 0 auto; }
.cicosy-data-table-toolbar > .buttons-row { margin: 0; }
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select:focus,
.cicosy-data-table-search input:focus { border-color: #1b5e20; outline: 3px solid rgba(27, 94, 32, 0.13); }

.cicosy-data-table th.cicosy-data-table-sortable { padding: 0; }
.cicosy-data-table-sort { display: inline-flex; align-items: center; justify-content: flex-start; gap: 0.45rem; width: 100%; min-height: 100%; padding: 0.55rem 0.8rem; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; text-transform: inherit; white-space: nowrap; }
.cicosy-data-table-sort:focus-visible { outline: 3px solid rgba(27, 94, 32, 0.16); outline-offset: -3px; }
.cicosy-data-table-sort span { min-width: 0; overflow: visible; text-overflow: clip; }
.cicosy-data-table-sort i { display: inline-flex; flex: 0 0 1rem; align-items: center; justify-content: center; width: 1rem; min-width: 1rem; height: 1rem; color: #506283; font-size: 0.75rem; line-height: 1; text-align: center; }
.cicosy-data-table-sort i::before { display: block; width: 1em; font-family: "bootstrap-icons" !important; font-style: normal; font-weight: 400 !important; line-height: 1; }
.cicosy-table-header-label { display: inline-flex; align-items: center; justify-content: flex-start; gap: 0.45rem; max-width: 100%; min-width: 0; color: inherit; font: inherit; text-align: left; text-transform: inherit; white-space: nowrap; }
.cicosy-table-header-label > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.cicosy-table-header-label > i { flex: 0 0 1rem; width: 1rem; color: #a8b0bf; font-size: 0.75rem; text-align: center; }
.cicosy-data-table th[aria-sort="ascending"] .cicosy-data-table-sort i,
.cicosy-data-table th[aria-sort="descending"] .cicosy-data-table-sort i { color: #004d00; }
.cicosy-data-table th[aria-sort="ascending"] .cicosy-data-table-sort i::before { content: "\f145"; }
.cicosy-data-table th[aria-sort="descending"] .cicosy-data-table-sort i::before { content: "\f124"; }

.cicosy-data-table-empty-row td { padding: 2rem; color: var(--cicosy-table-muted); text-align: center; }

.cicosy-table-toast { position: fixed; right: 1rem; bottom: 1rem; z-index: 1090; max-width: min(22rem, calc(100vw - 2rem)); padding: 0.8rem 1rem; border-radius: 0.25rem; color: #fff; background: #263145; box-shadow: 0 0.75rem 2rem rgba(30, 40, 70, 0.24); }

@media (max-width: 767.98px) {
  .cicosy-tables-showcase .cicosy-card-grid--2 { grid-template-columns: minmax(0, 1fr); }
  .cicosy-data-table-toolbar,
  .cicosy-data-table-footer { align-items: stretch; flex-direction: column; }
  .cicosy-data-table-search { width: 100%; }
  .cicosy-data-table-toolbar > .cicosy-form-select,
  .cicosy-data-table-toolbar > .cicosy-btn,
  .cicosy-data-table-toolbar > .buttons-row { width: 100%; flex: 1 1 auto; }
  .cicosy-data-table-footer .cicosy-pagination-nav { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
  .cicosy-data-table-footer .cicosy-pagination { justify-content: flex-start; flex-wrap: nowrap; }
  .cicosy-table-heading-actions { justify-content: flex-start; }
}

/*--------------------------------------------------------------
# Compact Form Control Sizing
--------------------------------------------------------------*/
.form-control,
.form-select,
.input-group-text,
.cicosy-form-control,
.cicosy-form-select,
.cicosy-dropdown-form-control,
.cicosy-invoice-control,
.cicosy-modal .form-control,
.cicosy-modal .form-select,
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select,
.cicosy-data-table-search input,
.cicosy-widget-subscription input {
  min-height: 25px;
  padding-top: 4px;
  padding-bottom: 4px;
}

@media (max-width: 767.98px) {
  .form-control,
  .form-select,
  .input-group-text,
  .cicosy-form-control,
  .cicosy-form-select,
  .cicosy-dropdown-form-control,
  .cicosy-invoice-control,
  .cicosy-modal .form-control,
  .cicosy-modal .form-select,
  .cicosy-data-table-toolbar .cicosy-pagination-entries-control select,
  .cicosy-data-table-search input,
  .cicosy-widget-subscription input {
    min-height: 25px;
  }
}

/*--------------------------------------------------------------
# Theme Form Borders
--------------------------------------------------------------*/
.form-control,
.form-select,
.form-check-input,
.input-group-text,
.cicosy-form-control,
.cicosy-form-select,
.cicosy-dropdown-form-control,
.cicosy-modal .form-control,
.cicosy-modal .form-select,
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select,
.cicosy-data-table-search input,
.cicosy-widget-subscription input {
  border-color: var(--cicosy-dashboard-form-border) !important;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.cicosy-form-control:focus,
.cicosy-form-select:focus,
.cicosy-dropdown-form-control:focus,
.cicosy-modal .form-control:focus,
.cicosy-modal .form-select:focus,
.cicosy-data-table-toolbar .cicosy-pagination-entries-control select:focus,
.cicosy-data-table-search input:focus,
.cicosy-widget-subscription input:focus {
  border-color: var(--cicosy-dashboard-form-border) !important;
  box-shadow: 0 0 0 0.2rem rgba(27, 94, 32, 0.14) !important;
  outline: 0;
}

/*--------------------------------------------------------------
# Reusable Split Login Page
--------------------------------------------------------------*/
body:has(.cicosy-login-page) {
  background: #ebeef0;
}

body:has(.cicosy-login-page) .section.register {
  padding-block: 1.5rem !important;
}

.cicosy-login-page {
  width: 100%;
  min-width: 0;
  color: #152238;
  font-family: "Open Sans", sans-serif;
  font-size: 0.9375rem;
}

.cicosy-login-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  max-width: 53rem;
  min-height: 36.25rem;
  margin-inline: auto;
  overflow: hidden;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 1.75rem 3.375rem rgba(38, 49, 42, 0.15), 0 0.125rem 0.3125rem rgba(38, 49, 42, 0.06);
}

.cicosy-login-brand-column {
  padding: 1rem;
  background: #f3faf5;
  border-bottom: 1px solid #d2e5d7;
}

.cicosy-login-brand-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12.5rem;
  padding: 1.75rem 1.5rem;
  border: 1px solid #d2e5d7;
  border-radius: 1.125rem;
  background: #fff;
  box-shadow: 0 0.125rem 0.5rem rgba(29, 82, 47, 0.04);
  text-align: center;
}

.cicosy-login-brand-content {
  width: 100%;
}

.cicosy-login-brand-link {
  display: block;
  width: fit-content;
  margin: 0 auto 0.125rem;
}

.cicosy-login-brand-logo {
  display: block;
  width: min(10.3125rem, 100%);
  height: auto;
  margin-inline: auto;
}

.cicosy-login-brand-heading {
  margin: 0;
  color: #111d2f;
  font-family: var(--cicosy-font-display);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.2;
}

.cicosy-login-brand-rule {
  display: block;
  width: 2.625rem;
  height: 0.25rem;
  margin: 1rem auto 1.25rem;
  border-radius: 999px;
  background: #2e8c48;
}

.cicosy-login-brand-description {
  max-width: 15rem;
  margin: 0 auto;
  color: #6f7765;
  line-height: 1.5;
}

.cicosy-login-form-column {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 2.25rem clamp(1.25rem, 6vw, 2rem) 2.5rem;
  background: #fff;
}

.cicosy-login-form-content {
  width: 100%;
  min-width: 0;
  max-width: 26.75rem;
}

.cicosy-login-heading {
  margin-bottom: 1.25rem;
}

.cicosy-login-heading .card-title {
  margin: 0 0 0.25rem;
}

.cicosy-login-heading p {
  margin: 0;
  color: #7d7b68;
}

.cicosy-login-alert {
  margin-bottom: 1rem;
}

.cicosy-login-form {
  display: grid;
  gap: 0.9375rem;
}

.cicosy-login-field {
  min-width: 0;
}

.cicosy-login-field .form-label {
  margin-bottom: 0.375rem;
}

.cicosy-login-field .form-control {
  min-height: 3.125rem;
  padding: 0.625rem 1rem;
  border-color: #c6d0d4;
  border-radius: 0.625rem;
}

.cicosy-login-field .form-control:focus {
  border-color: #2e8c48;
  box-shadow: 0 0 0 0.2rem rgba(46, 140, 72, 0.14);
}

.cicosy-login-password-field {
  margin-bottom: 0.8125rem;
}

.cicosy-login-password-control {
  position: relative;
}

.cicosy-login-password-control .form-control {
  padding-right: 3.25rem;
  background: #e8f0fe;
}

.cicosy-login-password-toggle {
  position: absolute;
  top: 1.5625rem;
  right: 0.5rem;
  display: inline-grid;
  place-items: center;
  width: 2.375rem;
  height: 2.375rem;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  color: #8b9178;
}

.cicosy-login-password-toggle:hover {
  background: rgba(255, 255, 255, 0.6);
  color: #1d6e37;
}

.cicosy-login-password-toggle:focus-visible {
  outline: 2px solid rgba(46, 140, 72, 0.45);
  outline-offset: 1px;
}

.cicosy-login-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  width: 100%;
  min-height: 3.125rem;
  border-color: #1d6e37;
  border-radius: 0.625rem;
  background: #1d6e37;
  box-shadow: 0 0.125rem 0.25rem rgba(16, 76, 34, 0.2);
}

.cicosy-login-submit:hover,
.cicosy-login-submit:focus {
  border-color: #175d2e;
  background: #175d2e;
}

.cicosy-login-divider {
  margin: 0.9375rem 0 0.1875rem;
  border: 0;
  border-top: 1px solid #e5e8e5;
  opacity: 1;
}

.cicosy-login-account-copy {
  margin: 0;
  color: #4f4b42;
  text-align: center;
}

.cicosy-login-account-copy a {
  color: #1d6e37;
}

.cicosy-login-home-link {
  width: fit-content;
  margin: -0.4375rem auto 0;
  color: #8a8f7f;
  text-decoration: none;
}

.cicosy-login-home-link:hover,
.cicosy-login-account-copy a:hover {
  color: #175d2e;
  text-decoration: underline;
}

@media (min-width: 768px) {
  .cicosy-login-shell {
    grid-template-columns: 39.5% minmax(0, 1fr);
  }

  .cicosy-login-brand-column {
    border-right: 1px solid #d2e5d7;
    border-bottom: 0;
  }

  .cicosy-login-brand-card {
    height: 100%;
    min-height: 0;
  }

  .cicosy-login-form-column {
    padding-inline: 2rem;
  }
}

@media (max-width: 430px) {
  body:has(.cicosy-login-page) .section.register {
    padding-block: 0.75rem !important;
  }

  .cicosy-login-shell {
    border-radius: 1.125rem;
  }

  .cicosy-login-brand-column {
    padding: 0.75rem;
  }

  .cicosy-login-brand-card {
    min-height: 10.5rem;
    padding: 1.25rem 1rem;
    border-radius: 0.875rem;
  }

  .cicosy-login-brand-logo {
    width: min(9.625rem, 100%);
  }

  .cicosy-login-brand-rule {
    margin-block: 0.75rem 0.875rem;
  }

  .cicosy-login-form-column {
    padding: 2rem 1rem 2.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cicosy-login-page *,
  .cicosy-login-page *::before,
  .cicosy-login-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/*--------------------------------------------------------------
# Reusable Create Account Page
--------------------------------------------------------------*/
.cicosy-register-page {
  width: 100%;
  min-width: 0;
  max-width: 32rem;
  color: #152238;
  font-family: "Open Sans", sans-serif;
  font-size: 0.9375rem;
}

body:has(.cicosy-register-page) .section.register {
  justify-content: center !important;
  padding-block: 0.75rem !important;
}

.cicosy-register-card {
  width: 100%;
  overflow: hidden;
  border: 1px solid #edf0f4;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 0.5rem 1.5rem rgba(19, 33, 55, 0.14);
}

.cicosy-register-card-body {
  padding: 1rem clamp(1rem, 4vw, 1.375rem) 1.125rem;
}

.cicosy-register-heading {
  margin-bottom: 1rem;
  text-align: center;
}

.cicosy-register-heading-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.75rem;
  height: 3.75rem;
  margin: 0 auto 0.75rem;
  border-radius: 0.9375rem;
  color: #fff;
  background: #2f7d32;
  box-shadow: 0 0.375rem 0.875rem rgba(47, 125, 50, 0.28);
}

.cicosy-register-heading-icon i {
  font-size: 1.5rem;
  line-height: 1;
}

.cicosy-register-heading h1 {
  margin: 0 0 0.25rem;
  color: #111d2f;
  font-family: var(--cicosy-font-display);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
}

.cicosy-register-heading p {
  margin: 0;
  color: #594b4b;
  font-size: 0.875em;
  font-weight: 400;
  line-height: 1.4;
}

.cicosy-register-alert {
  margin-bottom: 1.125rem;
}

.cicosy-register-form {
  display: grid;
  gap: 0.75rem;
}

.cicosy-register-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}

.cicosy-register-field {
  min-width: 0;
}

.cicosy-register-field label {
  display: block;
  margin-bottom: 0.25rem;
  color: #101828;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.3;
}

.cicosy-register-control {
  display: block;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.5625rem 0.875rem;
  border: 1px solid #d0d5dd;
  border-radius: 0.5rem;
  color: #111d2f;
  background: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.cicosy-register-control::placeholder {
  color: #98a2b3;
  opacity: 1;
}

.cicosy-register-control--filled {
  background: #e8f0fd;
}

.cicosy-register-control:focus {
  border-color: #91a8c9;
  outline: 0;
  background: #e8f0fd;
  box-shadow: 0 0 0 0.2rem rgba(46, 125, 50, 0.12);
}

.cicosy-register-control.is-invalid {
  border-color: #dc3545 !important;
  background-color: #fff5f6;
  box-shadow: 0 0 0 0.15rem rgba(220, 53, 69, 0.12);
}

.cicosy-register-control.is-valid {
  border-color: #198754 !important;
  background-color: #f4fbf5;
}

.cicosy-register-field .invalid-feedback {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
}

.cicosy-register-help {
  max-width: 17rem;
  margin: 0.25rem 0 0;
  color: #8a94a6;
  font-size: 0.8125rem;
  line-height: 1.15;
}

.cicosy-register-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  min-height: 2.875rem;
  padding: 0.625rem 0.875rem;
  border: 0;
  border-radius: 0.5rem;
  color: #fff;
  background: #2f7d32;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.cicosy-register-submit:hover {
  background: #256628;
}

.cicosy-register-submit:focus-visible {
  outline: 3px solid rgba(47, 125, 50, 0.28);
  outline-offset: 2px;
}

.cicosy-register-submit:active {
  transform: translateY(1px);
}

.cicosy-register-card-footer {
  display: grid;
  justify-items: center;
  gap: 0.25rem;
  padding: 0.875rem 1rem;
  border-top: 1px solid #edf0f4;
  text-align: center;
}

.cicosy-register-card-footer p {
  margin: 0;
  color: #5d6471;
  font-size: 0.875em;
  font-weight: 400;
}

.cicosy-register-card-footer a {
  color: #1b5e20;
  font-weight: 400;
}

.cicosy-register-home-link {
  color: #98a2b3 !important;
}

@media (min-width: 540px) {
  .cicosy-register-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*--------------------------------------------------------------
# Cicosy Invoice Data List Recipe
--------------------------------------------------------------*/
                    .cicosy-invoice-recipe {
                        --invoice-primary: var(--cicosy-dashboard-primary, #1b5e20);
                        --invoice-primary-dark: #0f4d18;
                        --invoice-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
                        --invoice-primary-soft-strong: var(--cicosy-dashboard-primary-soft-strong, #d9f0dc);
                        --invoice-ink: #1f2937;
                        --invoice-heading: var(--cicosy-dashboard-heading, #1b5e20);
                        --invoice-muted: #6b7893;
                        --invoice-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
                        --invoice-border-soft: #e4efe6;
                        --invoice-page: #f4fbf5;
                        --invoice-surface: #ffffff;
                        --invoice-danger: #ef4968;
                        --invoice-danger-soft: #ffecef;
                        --invoice-accent: #2f80ed;
                        --invoice-accent-soft: #eef8ef;
                        --invoice-shadow: 0 1px 2px rgba(27, 94, 32, 0.06);
                        color: var(--invoice-ink);
                        font-family: "Open Sans", sans-serif;
                        font-size: 11px;
                        line-height: 1.35;
                        max-width: 100%;
                        min-width: 0;
                    }

                    .cicosy-invoice-recipe * { box-sizing: border-box; }
                    .cicosy-invoice-recipe button,
                    .cicosy-invoice-recipe input,
                    .cicosy-invoice-recipe select { font: inherit; }
                    .cicosy-invoice-recipe button { cursor: pointer; }

                    .cicosy-invoice-recipe .cicosy-card-shell,
                    .cicosy-invoice-recipe .cicosy-card-shell-body {
                        max-width: 100%;
                        min-width: 0;
                    }

                    .cicosy-invoice-page {
                        width: 100%;
                        max-width: 100%;
                        min-width: 0;
                        overflow: visible;
                        border: 0;
                        border-radius: 0;
                        background: transparent;
                    }

                    .cicosy-invoice-tabs-shell {
                        height: 34px;
                        max-width: 100%;
                        min-width: 0;
                        overflow-x: auto;
                        overflow-y: hidden;
                        border-bottom: 1px solid var(--invoice-border-soft);
                        background: var(--invoice-surface);
                        padding: 0;
                        overscroll-behavior-inline: contain;
                    }

                    .cicosy-invoice-tabs {
                        display: flex;
                        align-items: stretch;
                        gap: 2px;
                        min-width: max-content;
                        height: 100%;
                    }

                    .cicosy-invoice-tab {
                        position: relative;
                        min-width: max-content;
                        height: 100%;
                        border: 0;
                        background: transparent;
                        color: #344767;
                        font-family: var(--cicosy-font-body);
                        font-size: var(--cicosy-text-xs);
                        font-weight: 600;
                        line-height: var(--cicosy-line-snug);
                        letter-spacing: 0;
                        padding: 0 12px;
                    }

                    .cicosy-invoice-tab::after {
                        content: "";
                        position: absolute;
                        left: 5px;
                        right: 5px;
                        bottom: 0;
                        height: 2px;
                        border-radius: 2px 2px 0 0;
                        background: transparent;
                    }

                    .cicosy-invoice-tab.is-active {
                        color: var(--invoice-primary);
                        font-weight: 700;
                    }

                    .cicosy-invoice-tab.is-active::after { background: var(--invoice-primary); }
                    .cicosy-invoice-tab-panels { width: 100%; max-width: 100%; min-width: 0; }
                    .cicosy-invoice-panel { max-width: 100%; min-width: 0; }
                    .cicosy-invoice-panel[hidden] { display: none !important; }

                    .cicosy-invoice-workspace {
                        container-type: inline-size;
                        max-width: 100%;
                        min-width: 0;
                        padding: 1rem 0 0;
                    }

                    .cicosy-invoice-toolbar {
                        position: relative;
                        display: grid;
                        max-width: 100%;
                        min-width: 0;
                        grid-template-columns: minmax(0, 1fr) auto;
                        align-items: start;
                        gap: 12px;
                        min-height: auto;
                        padding-right: 0;
                        margin-bottom: 1rem;
                    }

                    .cicosy-invoice-field { min-width: 0; }

                    .cicosy-invoice-filter-fields {
                        display: flex;
                        align-items: start;
                        flex-wrap: wrap;
                        gap: 12px;
                        min-width: 0;
                    }

                    .cicosy-invoice-filter-fields > .cicosy-invoice-field:nth-of-type(1) { flex: 0 1 123px; }
                    .cicosy-invoice-filter-fields > .cicosy-invoice-field:nth-of-type(2) { flex: 0 1 98px; }
                    .cicosy-invoice-filter-fields > .cicosy-invoice-field:nth-of-type(3) { flex: 0 1 155px; }
                    .cicosy-invoice-filter-fields > .cicosy-invoice-field:nth-of-type(4) { flex: 0 1 98px; }
                    .cicosy-invoice-filter-fields > .cicosy-invoice-field:nth-of-type(5) { flex: 0 1 98px; }

                    .cicosy-invoice-field-label {
                        display: block;
                        margin: 0 0 6px;
                        color: var(--invoice-heading);
                        font-size: var(--cicosy-text-xs);
                        font-weight: 600;
                        line-height: var(--cicosy-line-snug);
                        white-space: nowrap;
                    }

                    .cicosy-invoice-control {
                        width: 100%;
                        height: 27px;
                        border: 1px solid var(--invoice-border);
                        border-radius: 3px;
                        background: #fff;
                        color: var(--invoice-ink);
                        font-family: var(--cicosy-font-body);
                        font-size: var(--cicosy-text-base);
                        line-height: var(--cicosy-line-normal);
                        outline: none;
                        box-shadow: var(--invoice-shadow);
                    }

                    .cicosy-invoice-control:focus {
                        border-color: var(--invoice-primary);
                        box-shadow: 0 0 0 0.18rem rgba(27, 94, 32, 0.14);
                    }

                    .cicosy-invoice-select-wrap,
                    .cicosy-invoice-date-wrap {
                        position: relative;
                        display: block;
                    }

                    .cicosy-invoice-control-select {
                        appearance: none;
                        padding: 0 27px 0 9px;
                    }

                    .cicosy-invoice-control-date {
                        padding: 0 29px 0 27px;
                    }

                    .cicosy-invoice-icon-left,
                    .cicosy-invoice-icon-right {
                        position: absolute;
                        top: 50%;
                        display: grid;
                        place-items: center;
                        color: var(--invoice-primary);
                        pointer-events: none;
                        transform: translateY(-50%);
                    }

                    .cicosy-invoice-icon-left { left: 8px; }
                    .cicosy-invoice-icon-right { right: 8px; }

                    .cicosy-invoice-icon {
                        display: block;
                        width: 12px;
                        height: 12px;
                        fill: none;
                        stroke: currentColor;
                        stroke-linecap: round;
                        stroke-linejoin: round;
                        stroke-width: 1.8;
                    }

                    .cicosy-invoice-toolbar-actions {
                        display: grid;
                        grid-template-columns: 108px 42px 112px 82px;
                        grid-template-rows: 28px;
                        align-items: start;
                        gap: 8px;
                        justify-self: end;
                        align-self: start;
                        padding-top: 16px;
                        width: 368px;
                        max-width: 100%;
                    }

                    .cicosy-invoice-btn {
                        display: inline-flex;
                        align-items: center;
                        justify-content: center;
                        gap: 6px;
                        height: 27px;
                        min-height: 27px;
                        border-radius: 3px;
                        font-weight: 700;
                        white-space: nowrap;
                        transition: background .15s ease, border-color .15s ease, color .15s ease;
                    }

                    .cicosy-invoice-btn--secondary {
                        --cicosy-btn-bg: #fff;
                        --cicosy-btn-border: var(--invoice-border);
                        --cicosy-btn-color: var(--invoice-primary);
                        --cicosy-btn-hover-bg: var(--invoice-primary-soft);
                        --cicosy-btn-hover-border: var(--invoice-border);
                        --cicosy-btn-hover-color: var(--invoice-primary);
                        border: 1px solid var(--invoice-border);
                        background: #fff;
                        color: var(--invoice-primary);
                    }

                    .cicosy-invoice-btn--secondary:hover { background: var(--invoice-primary-soft); }

                    .cicosy-invoice-btn--text {
                        --cicosy-btn-bg: transparent;
                        --cicosy-btn-border: transparent;
                        --cicosy-btn-color: var(--invoice-primary);
                        --cicosy-btn-hover-bg: transparent;
                        --cicosy-btn-hover-border: transparent;
                        --cicosy-btn-hover-color: var(--invoice-primary);
                        border: 0;
                        background: transparent;
                        color: var(--invoice-primary);
                        font-weight: 700;
                        padding: 0;
                    }

                    .cicosy-invoice-btn--primary {
                        --cicosy-btn-bg: var(--invoice-primary);
                        --cicosy-btn-border: var(--invoice-primary);
                        --cicosy-btn-color: #fff;
                        --cicosy-btn-hover-bg: var(--invoice-primary-dark);
                        --cicosy-btn-hover-border: var(--invoice-primary-dark);
                        --cicosy-btn-hover-color: #fff;
                        overflow: hidden;
                        border: 1px solid var(--invoice-primary);
                        background: var(--invoice-primary);
                        color: #fff;
                        padding: 0;
                        box-shadow: 0 2px 4px rgba(27, 94, 32, 0.18);
                    }

                    .cicosy-invoice-btn--primary:hover { background: var(--invoice-primary-dark); }

                    .cicosy-invoice-toolbar-actions .cicosy-invoice-btn:hover:not(:disabled),
                    .cicosy-invoice-toolbar-actions .cicosy-invoice-btn:focus-visible:not(:disabled) {
                        transform: none;
                        box-shadow: none;
                    }

                    .cicosy-invoice-split-label {
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        flex: 1;
                        height: 100%;
                        padding: 0 11px;
                    }

                    .cicosy-invoice-split-arrow {
                        display: grid;
                        place-items: center;
                        width: 25px;
                        height: 100%;
                        border-left: 1px solid rgba(255, 255, 255, .24);
                    }

                    .cicosy-invoice-export {
                        grid-column: 4;
                        grid-row: 1;
                        justify-self: end;
                        width: 82px;
                    }

                    .cicosy-invoice-dropdown-wrap { position: relative; }

                    .cicosy-invoice-dropdown,
                    .cicosy-invoice-context-menu {
                        display: none;
                        z-index: 20;
                        width: 132px;
                        padding: 4px;
                        border: 1px solid var(--invoice-border);
                        border-radius: 4px;
                        background: #fff;
                        box-shadow: 0 8px 24px rgba(27, 94, 32, .14);
                    }

                    .cicosy-invoice-dropdown {
                        position: absolute;
                        top: 33px;
                        right: 0;
                    }

                    .cicosy-invoice-context-menu {
                        position: fixed;
                        width: 118px;
                    }

                    .cicosy-invoice-dropdown.is-open,
                    .cicosy-invoice-context-menu.is-open { display: block; }

                    .cicosy-invoice-dropdown button,
                    .cicosy-invoice-context-menu button {
                        width: 100%;
                        height: 28px;
                        border: 0;
                        border-radius: 3px;
                        background: transparent;
                        color: var(--invoice-ink);
                        text-align: left;
                        padding: 0 8px;
                    }

                    .cicosy-invoice-dropdown button:hover,
                    .cicosy-invoice-context-menu button:hover {
                        background: var(--invoice-primary-soft);
                        color: var(--invoice-primary);
                    }

                    .cicosy-invoice-more-filters {
                        display: none;
                        grid-column: 1 / -1;
                        margin-top: -2px;
                        padding: 10px;
                        border: 1px solid var(--invoice-border);
                        border-radius: 4px;
                        background: #fff;
                        color: var(--invoice-muted);
                        box-shadow: var(--invoice-shadow);
                    }

                    .cicosy-invoice-more-filters.is-open { display: grid; }

                    .cicosy-invoice-table-shell {
                        display: block;
                        width: 100%;
                        max-width: 100%;
                        min-width: 0;
                        overflow-x: auto;
                        overflow-y: hidden;
                        border: 0;
                        border-radius: 0;
                        background: #fff;
                        box-shadow: none;
                        overscroll-behavior-inline: contain;
                    }

                    .cicosy-invoice-table {
                        width: max-content;
                        min-width: 100%;
                        border-collapse: collapse;
                        background: #fff;
                        color: #23314d;
                    }

                    .cicosy-data-table .cicosy-invoice-table {
                        table-layout: auto;
                    }

                    .cicosy-invoice-table th,
                    .cicosy-invoice-table td {
                        overflow: visible;
                        border-bottom: 1px solid var(--invoice-border-soft);
                        color: var(--invoice-ink);
                        padding: 0.55rem 0.8rem;
                        text-align: left;
                        text-overflow: clip;
                        vertical-align: middle;
                        white-space: nowrap;
                    }

                    .cicosy-invoice-table tbody tr:last-child td { border-bottom: 0; }
                    .cicosy-invoice-table tbody tr:hover { background: var(--invoice-primary-soft); }

                    .cicosy-invoice-table th.cicosy-data-table-sortable {
                        padding: 0;
                    }

                    .cicosy-invoice-table .cicosy-data-table-sort span {
                        overflow: visible;
                        text-overflow: clip;
                    }

                    .cicosy-invoice-table .cicosy-table-header-label > span {
                        overflow: visible;
                        text-overflow: clip;
                    }

                    .cicosy-invoice-c-check { min-width: 3.5rem; width: 3.5rem; text-align: center; }
                    .cicosy-invoice-c-invoice { min-width: 8rem; }
                    .cicosy-invoice-c-vendor { min-width: 13rem; }
                    .cicosy-invoice-c-date { min-width: 8.75rem; }
                    .cicosy-invoice-c-due { min-width: 8rem; }
                    .cicosy-invoice-c-status { min-width: 10rem; }
                    .cicosy-invoice-c-amount { min-width: 12rem; text-align: right; }
                    .cicosy-invoice-c-currency { min-width: 7rem; text-align: center; }
                    .cicosy-invoice-c-type { min-width: 8rem; }
                    .cicosy-invoice-c-actions { min-width: 5rem; width: 5rem; text-align: center; }

.cicosy-invoice-table .form-check-input {
                        width: 0.875rem;
                        height: 0.875rem;
                        margin: 0;
                        vertical-align: middle;
                    }

                    .cicosy-invoice-table .form-check-input:checked {
                        border-color: var(--invoice-primary);
                        background-color: var(--invoice-primary);
                    }

                    .cicosy-invoice-table .form-check-input:focus {
                        border-color: var(--invoice-primary);
                        box-shadow: 0 0 0 0.18rem rgba(27, 94, 32, 0.14);
                    }

                    .cicosy-invoice-sort-wrap {
                        width: 100%;
                    }

                    .cicosy-invoice-link {
                        color: var(--invoice-primary);
                        text-decoration: none;
                    }

                    .cicosy-invoice-link:hover { text-decoration: underline; }

                    .cicosy-invoice-amount {
                        text-align: right;
                        font-variant-numeric: tabular-nums;
                    }

                    .cicosy-invoice-footer-bar {
                        display: grid;
                        grid-template-columns: minmax(0, 1fr) auto auto;
                        align-items: center;
                        gap: 1rem;
                        min-height: auto;
                        padding: 1rem 0 0;
                    }

                    .cicosy-invoice-footer-bar .cicosy-pagination-result-info {
                        font-size: var(--cicosy-text-sm);
                        font-weight: 500;
                    }

                    .cicosy-invoice-footer-bar .cicosy-pagination-nav {
                        width: auto;
                        min-width: 0;
                    }

                    .cicosy-invoice-footer-bar .cicosy-pagination {
                        flex-wrap: nowrap;
                    }

                    .cicosy-invoice-footer-bar .cicosy-pagination-entries-control {
                        justify-self: end;
                        font-size: var(--cicosy-text-sm);
                    }

                    .cicosy-invoice-developer-slot {
                        display: grid;
                        place-items: center;
                        min-height: 280px;
                        border: 1px dashed var(--invoice-border);
                        border-radius: 4px;
                        background: #fff;
                        color: var(--invoice-muted);
                        text-align: center;
                        padding: 32px;
                    }

                    .cicosy-invoice-developer-slot strong {
                        display: block;
                        margin-bottom: 5px;
                        color: var(--invoice-heading);
                        font-family: var(--cicosy-font-display);
                        font-size: var(--cicosy-text-lg);
                        font-weight: 700;
                        line-height: var(--cicosy-line-tight);
                    }

                    .cicosy-invoice-tab-list {
                        display: grid;
                        gap: 1rem;
                    }

                    @media (max-width: 680px) {
                        .cicosy-invoice-tabs-shell { overflow-x: auto; }
                        .cicosy-invoice-workspace { padding-top: 18px; }
                        .cicosy-invoice-toolbar {
                            grid-template-columns: 1fr;
                            gap: 17px;
                        }
                        .cicosy-invoice-filter-fields {
                            display: grid;
                            grid-template-columns: 1fr;
                            gap: 17px;
                        }
                        .cicosy-invoice-filter-fields > .cicosy-invoice-field {
                            width: 100%;
                            flex: none;
                        }
                        .cicosy-invoice-toolbar-actions {
                            grid-column: 1 / -1;
                            justify-self: stretch;
                            grid-template-columns: repeat(2, minmax(0, 1fr));
                            grid-template-rows: repeat(2, auto);
                            gap: 13px;
                            width: 100%;
                            max-width: 100%;
                            padding-top: 0;
                        }
                        .cicosy-invoice-toolbar-actions .cicosy-invoice-btn { width: 100%; }
                        .cicosy-invoice-toolbar-actions [data-cicosy-invoice-more],
                        .cicosy-invoice-toolbar-actions [data-cicosy-action='invoice-more'] {
                            grid-column: 1;
                            grid-row: 1;
                        }
                        .cicosy-invoice-toolbar-actions [data-cicosy-invoice-clear],
                        .cicosy-invoice-toolbar-actions [data-cicosy-action='invoice-clear'] {
                            grid-column: 1;
                            grid-row: 2;
                            border: 1px solid var(--invoice-border);
                            background: #fff;
                            color: var(--invoice-primary);
                            padding: 0;
                        }
                        .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap,
                        .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap > .cicosy-invoice-btn {
                            width: 100%;
                        }
                        .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap {
                            grid-column: 2;
                            grid-row: 1;
                        }
                        .cicosy-invoice-export {
                            grid-column: 2;
                            grid-row: 2;
                            justify-self: stretch;
                            width: 100%;
                        }
                        .cicosy-invoice-footer-bar {
                            grid-template-columns: 1fr;
                            justify-items: start;
                            gap: 10px;
                            padding: 16px 3px 22px;
                        }
                        .cicosy-invoice-footer-bar .cicosy-pagination-nav {
                            width: 100%;
                            overflow-x: auto;
                            overscroll-behavior-inline: contain;
                        }
                        .cicosy-invoice-footer-bar .cicosy-pagination {
                            justify-content: flex-start;
                            flex-wrap: nowrap;
                        }
                        .cicosy-invoice-footer-bar .cicosy-pagination-entries-control {
                            justify-self: start;
                        }
                    }

                    @container (max-width: 760px) {
                        .cicosy-invoice-toolbar {
                            grid-template-columns: 1fr;
                            gap: 17px;
                        }
                        .cicosy-invoice-filter-fields {
                            display: grid;
                            grid-template-columns: 1fr;
                            gap: 17px;
                        }
                        .cicosy-invoice-filter-fields > .cicosy-invoice-field {
                            width: 100%;
                            flex: none;
                        }
                        .cicosy-invoice-toolbar-actions {
                            grid-column: 1 / -1;
                            justify-self: stretch;
                            grid-template-columns: repeat(2, minmax(0, 1fr));
                            grid-template-rows: repeat(2, auto);
                            gap: 13px;
                            width: 100%;
                            max-width: 100%;
                            padding-top: 0;
                        }
                        .cicosy-invoice-toolbar-actions .cicosy-invoice-btn { width: 100%; }
                        .cicosy-invoice-toolbar-actions [data-cicosy-invoice-more],
                        .cicosy-invoice-toolbar-actions [data-cicosy-action='invoice-more'] {
                            grid-column: 1;
                            grid-row: 1;
                        }
                        .cicosy-invoice-toolbar-actions [data-cicosy-invoice-clear],
                        .cicosy-invoice-toolbar-actions [data-cicosy-action='invoice-clear'] {
                            grid-column: 1;
                            grid-row: 2;
                            border: 1px solid var(--invoice-border);
                            background: #fff;
                            color: var(--invoice-primary);
                            padding: 0;
                        }
                        .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap,
                        .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap > .cicosy-invoice-btn {
                            width: 100%;
                        }
                        .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap {
                            grid-column: 2;
                            grid-row: 1;
                        }
                        .cicosy-invoice-export {
                            grid-column: 2;
                            grid-row: 2;
                            justify-self: stretch;
                            width: 100%;
                        }
                    }

/*--------------------------------------------------------------
# Enterprise typography system
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea,
.dropdown-menu,
.form-control,
.form-select,
.cicosy-form-control,
.cicosy-form-select,
.cicosy-dropdown-form-control,
.cicosy-invoice-control {
  font-family: var(--cicosy-font-body);
}

body,
.card,
.cicosy-card-shell,
.cicosy-form-section,
.cicosy-form-card,
.cicosy-table,
.cicosy-journal-table,
.cicosy-trial-balance-table,
.cicosy-top-accounts-card,
.cicosy-top-accounts-table,
.cicosy-financial-summary-card,
.cicosy-widget,
.cicosy-invoice-recipe,
.profile,
.dropdown-menu {
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
  color: var(--cicosy-text-body);
}

.pagetitle h1,
.card-title,
.cicosy-card-shell-title,
.cicosy-form-section-title,
.cicosy-form-card-title,
.cicosy-form-layout-section-title,
.cicosy-table-section-title,
.cicosy-widget-section-title,
.cicosy-journal-table-header h2,
.cicosy-trial-balance-header h2,
.cicosy-top-accounts-header h2,
.cicosy-financial-summary-header h2,
.cicosy-financial-summary-pane-title,
.cicosy-widget-value,
.cicosy-widget-solid-stat strong,
.cicosy-widget-temperature,
.dashboard .info-card h6,
.profile .profile-card h2,
.profile .profile-overview .card-title,
.header-nav .profile .dropdown-header h6,
.dropdown-menu .dropdown-header h6,
.cicosy-login-brand-heading,
.cicosy-register-heading h1,
.cicosy-invoice-title {
  font-family: var(--cicosy-font-display);
}

.pagetitle h1 {
  font-size: var(--cicosy-text-2xl);
  font-weight: 700;
  line-height: var(--cicosy-line-tight);
  color: var(--cicosy-text-strong);
  letter-spacing: 0;
}

.pagetitle p,
.page-subtitle,
.cicosy-card-shell-note,
.cicosy-form-card-subtitle,
.forms-elements-showcase .card-subtitle,
.cicosy-icon-browser__summary,
.cicosy-widget-meta,
.cicosy-widget-byline,
.cicosy-card-widget-muted,
.cicosy-card-widget-byline,
.cicosy-card-widget-meta-row,
.cicosy-login-brand-description,
.cicosy-register-heading p {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-md);
  font-weight: 400;
  line-height: var(--cicosy-line-normal);
  color: var(--cicosy-text-muted);
}

.sidebar-nav .nav-link,
.sidebar-nav .nav-content a,
.header-nav .nav-profile span,
.dropdown-menu .dropdown-item,
.header-nav .profile .dropdown-item {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  font-weight: 500;
  line-height: var(--cicosy-line-snug);
}

.sidebar-nav .nav-link:not(.collapsed),
.sidebar-nav .nav-content a.active,
.sidebar-nav .nav-link:hover,
.sidebar-nav .nav-content a:hover {
  font-weight: 600;
}

.sidebar-nav .nav-heading,
.dashboard .filter .dropdown-header h6,
.cicosy-table thead th,
.cicosy-journal-table thead th,
.cicosy-trial-balance-table thead th,
.cicosy-top-accounts-table thead th,
.table thead th,
.cicosy-data-table-sort,
.cicosy-form-layout-horizontal-label,
.cicosy-form-layout-profile-label,
.cicosy-form-layout-subtitle,
.cicosy-invoice-field-label,
.cicosy-widget-label,
.cicosy-card-widget-panel-head small,
.cicosy-card-widget-solid-stat small,
.cicosy-badge-heading,
.badges-showcase .badges-label-heading {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  letter-spacing: var(--cicosy-letter-label);
  text-transform: uppercase;
}

.card-title,
.cicosy-card-shell-title,
.cicosy-form-card-title,
.cicosy-journal-table-header h2,
.cicosy-trial-balance-header h2,
.cicosy-top-accounts-header h2,
.cicosy-financial-summary-header h2,
.cicosy-table-empty h3,
.cicosy-widget-chart h3,
.cicosy-widget-banner h3,
.cicosy-widget-article h3,
.cicosy-widget-profile h3,
.cicosy-card-widget h3,
.cicosy-card-widget h4 {
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.dashboard .info-card h6,
.cicosy-widget-value,
.cicosy-widget-solid-stat strong,
.cicosy-card-widget-solid-stat strong {
  font-size: var(--cicosy-text-xl);
  font-weight: 600;
  line-height: var(--cicosy-line-tight);
  letter-spacing: 0;
}

.dashboard .info-card .text-success,
.dashboard .info-card .text-danger,
.dashboard .info-card .text-muted,
.cicosy-widget-change,
.cicosy-widget-progress-meta,
.cicosy-card-widget-solid-stat small,
.cicosy-card-widget-solid-stat em {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.dashboard .activity,
.dashboard .activity .activity-item .activity-content,
.header-nav .notifications .notification-item p,
.header-nav .messages .message-item p,
.table,
.table td,
.cicosy-table,
.cicosy-table td,
.cicosy-journal-table tbody td,
.cicosy-trial-balance-table tbody th,
.cicosy-trial-balance-table tbody td,
.cicosy-financial-summary-row,
.cicosy-financial-summary-pane-title,
.cicosy-data-table-footer p,
.cicosy-data-table-toolbar,
.cicosy-invoice-table,
.cicosy-invoice-table td,
.cicosy-form-feedback,
.cicosy-form-layout-muted,
.cicosy-form-layout-choice-help,
.cicosy-form-layout-profile-control,
.profile .profile-overview .row {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-normal);
}

.form-text,
.invalid-feedback,
.valid-feedback,
.cicosy-form-feedback,
.cicosy-form-layout-muted,
.cicosy-form-layout-choice-help,
.cicosy-table-user small {
  font-size: var(--cicosy-text-xs);
  font-weight: 400;
  line-height: var(--cicosy-line-snug);
  color: var(--cicosy-text-muted);
}

.form-label,
.col-form-label,
.cicosy-form-label,
.cicosy-login-field .form-label,
.cicosy-register-field label,
.cicosy-form-choice,
.cicosy-form-switch-row,
.form-check-label,
.cicosy-form-control,
.cicosy-form-select,
.form-control,
.form-select,
.cicosy-invoice-control {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  line-height: var(--cicosy-line-normal);
}

.form-label,
.col-form-label,
.cicosy-form-label,
.cicosy-login-field .form-label,
.cicosy-register-field label {
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.btn,
.cicosy-btn,
.page-link,
.cicosy-tabs-item,
.nav-tabs-bordered .nav-link,
.cicosy-card-widget-tabs button {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.btn {
  min-height: var(--cicosy-button-height);
  padding: 0.25rem var(--cicosy-button-padding-x);
}

.btn-sm {
  min-height: var(--cicosy-button-height-sm);
  padding: 0.2rem var(--cicosy-button-padding-x-sm);
  font-size: var(--cicosy-text-sm);
}

.btn-lg {
  min-height: var(--cicosy-button-height-lg);
  padding: 0.35rem var(--cicosy-button-padding-x-lg);
  font-size: var(--cicosy-text-md);
}

.page-link {
  min-width: var(--cicosy-button-height);
  min-height: var(--cicosy-button-height);
  padding: 0.25rem 0.55rem;
}

.badge,
.cicosy-badge,
.header-nav .badge-number,
.cicosy-table-status,
.cicosy-invoice-status {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: 1;
}

.breadcrumb {
  font-family: var(--cicosy-font-body);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: var(--cicosy-line-snug);
}

.cicosy-table th,
.cicosy-table td,
.cicosy-invoice-table th,
.cicosy-invoice-table td {
  padding-block: 0.55rem;
  padding-inline: 0.8rem;
}

.cicosy-data-table-sort,
.cicosy-invoice-table .cicosy-data-table-sort {
  padding-block: 0.55rem;
  padding-inline: 0.8rem;
}

.header-nav .notifications .notification-item h4,
.header-nav .messages .message-item h4 {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  color: var(--cicosy-text-strong);
}

.header-nav .profile .dropdown-header span,
.profile .profile-card h3,
.cicosy-table-user small,
.cicosy-card-widget-profile-stats small,
.cicosy-card-widget-review-customer small,
.cicosy-card-widget-route small,
.cicosy-card-widget-payment-bottom small {
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-2xs);
  font-weight: 500;
  line-height: var(--cicosy-line-snug);
  color: var(--cicosy-text-muted);
}

@media (max-width: 767.98px) {
  .pagetitle h1 {
    font-size: 1.3125rem;
  }

  body,
  .sidebar-nav .nav-link,
  .sidebar-nav .nav-content a,
  .btn,
  .cicosy-btn,
  .form-control,
  .form-select,
  .cicosy-form-control,
  .cicosy-form-select {
    font-size: var(--cicosy-text-sm);
  }
}

@media (max-width: 767.98px), (pointer: coarse) {
  .btn,
  .cicosy-btn,
  .cicosy-card-btn {
    min-height: 2.25rem;
  }

  .cicosy-btn--icon,
  .forms-elements-showcase .btn-icon {
    width: 2.25rem;
    min-width: 2.25rem;
    height: 2.25rem;
  }

  .page-link,
  .cicosy-pagination-link,
  .cicosy-pagination-ellipsis {
    min-width: 2rem;
    min-height: 2rem;
    height: 2rem;
  }
}

/* Invoice recipe toolbar collision guard
   The invoice data-list toolbar uses compact fixed cells; keep this control group
   independent from the global button scale so the split button cannot overlap Export. */
.cicosy-invoice-toolbar-actions {
  grid-template-columns: 108px 42px 132px 82px;
  width: 388px;
  max-width: 100%;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-btn,
.cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap {
  min-width: 0;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-btn {
  width: 100%;
  height: 27px;
  min-height: 27px;
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: 1;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap > .cicosy-invoice-btn {
  width: 100%;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-split-label {
  min-width: 0;
  padding-inline: 10px;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-split-arrow {
  flex: 0 0 25px;
}

@container (max-width: 760px) {
  .cicosy-invoice-toolbar-actions {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, auto);
    gap: 13px;
    padding-top: 0;
  }

  .cicosy-invoice-toolbar-actions .cicosy-invoice-btn {
    width: 100%;
  }

  .cicosy-invoice-toolbar-actions [data-cicosy-invoice-more],
  .cicosy-invoice-toolbar-actions [data-cicosy-action='invoice-more'] {
    grid-column: 1;
    grid-row: 1;
  }

  .cicosy-invoice-toolbar-actions [data-cicosy-invoice-clear],
  .cicosy-invoice-toolbar-actions [data-cicosy-action='invoice-clear'] {
    grid-column: 1;
    grid-row: 2;
    border: 1px solid var(--invoice-border);
    background: #fff;
    color: var(--invoice-primary);
    padding: 0;
  }

  .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
  }

  .cicosy-invoice-export {
    grid-column: 2;
    grid-row: 2;
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .cicosy-invoice-toolbar {
    grid-template-columns: 1fr;
  }

  .cicosy-invoice-toolbar-actions {
    grid-column: 1 / -1;
    justify-self: stretch;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, auto);
    gap: 13px;
    width: 100%;
    max-width: 100%;
    padding-top: 0;
  }

  .cicosy-invoice-toolbar-actions .cicosy-invoice-btn {
    width: 100%;
  }

  .cicosy-invoice-toolbar-actions [data-cicosy-invoice-more],
  .cicosy-invoice-toolbar-actions [data-cicosy-action='invoice-more'] {
    grid-column: 1;
    grid-row: 1;
  }

  .cicosy-invoice-toolbar-actions [data-cicosy-invoice-clear],
  .cicosy-invoice-toolbar-actions [data-cicosy-action='invoice-clear'] {
    grid-column: 1;
    grid-row: 2;
    border: 1px solid var(--invoice-border);
    background: #fff;
    color: var(--invoice-primary);
    padding: 0;
  }

  .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
  }

  .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap > .cicosy-invoice-btn {
    width: 100%;
  }

  .cicosy-invoice-export {
    grid-column: 2;
    grid-row: 2;
    justify-self: stretch;
    width: 100%;
  }

  .cicosy-invoice-split-arrow {
    width: 31px;
  }
}

/*--------------------------------------------------------------
# Cicosy General Ledger Data List Recipe
--------------------------------------------------------------*/
.cicosy-ledger-recipe {
  --ledger-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --ledger-primary-dark: #0f4d18;
  --ledger-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --ledger-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --ledger-border-soft: #e4efe6;
  --ledger-ink: var(--cicosy-text-body, #1f2937);
  --ledger-strong: var(--cicosy-text-strong, #012970);
  --ledger-muted: var(--cicosy-text-muted, #6b7893);
  --ledger-danger: #ef4968;
  --ledger-total-bg: #f4f8ff;
  --ledger-shadow: 0 1px 2px rgba(27, 94, 32, 0.06);
  container-type: inline-size;
  max-width: 100%;
  min-width: 0;
  color: var(--ledger-ink);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-normal);
}

.cicosy-ledger-recipe *,
.cicosy-ledger-recipe *::before,
.cicosy-ledger-recipe *::after {
  box-sizing: border-box;
}

.cicosy-ledger-recipe button,
.cicosy-ledger-recipe input,
.cicosy-ledger-recipe select {
  font: inherit;
}

.cicosy-ledger-recipe button {
  cursor: pointer;
}

.cicosy-ledger-recipe .cicosy-card-shell,
.cicosy-ledger-recipe .cicosy-card-shell-body {
  max-width: 100%;
  min-width: 0;
}

.cicosy-ledger-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
  background: transparent;
}

.cicosy-ledger-tabs-shell {
  max-width: 100%;
  min-width: 0;
  height: 2.35rem;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid var(--ledger-border-soft);
  background: #fff;
  overscroll-behavior-inline: contain;
}

.cicosy-ledger-tabs {
  display: flex;
  align-items: stretch;
  gap: 0.125rem;
  width: max-content;
  min-width: 100%;
  height: 100%;
}

.cicosy-ledger-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  height: 100%;
  border: 0;
  background: transparent;
  color: #344767;
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  letter-spacing: 0;
  padding: 0 0.9rem;
  white-space: nowrap;
}

.cicosy-ledger-tab::after {
  content: "";
  position: absolute;
  right: 0.4rem;
  bottom: 0;
  left: 0.4rem;
  height: 0.125rem;
  border-radius: 0.125rem 0.125rem 0 0;
  background: transparent;
}

.cicosy-ledger-tab:hover,
.cicosy-ledger-tab:focus-visible {
  color: var(--ledger-primary);
  outline: none;
}

.cicosy-ledger-tab.is-active {
  color: var(--ledger-primary);
  font-weight: 700;
}

.cicosy-ledger-tab.is-active::after {
  background: var(--ledger-primary);
}

.cicosy-ledger-tab-panels,
.cicosy-ledger-panel {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.cicosy-ledger-panel[hidden] {
  display: none !important;
}

.cicosy-ledger-workspace {
  max-width: 100%;
  min-width: 0;
  padding: 1rem 0 0;
}

.cicosy-ledger-toolbar {
  display: grid;
  max-width: 100%;
  min-width: 0;
  gap: 0.875rem;
  margin-bottom: 1rem;
}

.cicosy-ledger-filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.75rem;
  max-width: 100%;
  min-width: 0;
}

.cicosy-ledger-filter-fields {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0.75rem;
  min-width: 0;
}

.cicosy-ledger-field {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.cicosy-ledger-field--account { flex: 0 1 8.8rem; }
.cicosy-ledger-field--type { flex: 0 1 8.2rem; }
.cicosy-ledger-field--rollup { flex: 0 1 8.6rem; }
.cicosy-ledger-field--department { flex: 0 1 7.4rem; }
.cicosy-ledger-field--project { flex: 0 1 6.8rem; }
.cicosy-ledger-field--location { flex: 0 1 6.8rem; }
.cicosy-ledger-field--period { flex: 0 1 7.8rem; }

.cicosy-ledger-field-label {
  color: var(--ledger-primary);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  letter-spacing: 0;
  white-space: nowrap;
}

.cicosy-ledger-select-wrap,
.cicosy-ledger-date-wrap {
  position: relative;
  display: block;
  min-width: 0;
}

.cicosy-ledger-control {
  width: 100%;
  height: 2rem;
  border: 1px solid var(--ledger-border);
  border-radius: 0.25rem;
  background: #fff;
  color: var(--ledger-ink);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-normal);
  outline: none;
  box-shadow: var(--ledger-shadow);
}

.cicosy-ledger-control:focus {
  border-color: var(--ledger-primary);
  box-shadow: 0 0 0 0.18rem rgba(27, 94, 32, 0.14);
}

.cicosy-ledger-control-select {
  appearance: none;
  padding: 0 1.8rem 0 0.65rem;
}

.cicosy-ledger-control-date {
  padding: 0 1.9rem 0 0.65rem;
}

.cicosy-ledger-control-icon,
.cicosy-ledger-search-icon {
  position: absolute;
  top: 50%;
  right: 0.7rem;
  color: var(--ledger-primary);
  font-size: 0.78rem;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-50%);
}

.cicosy-ledger-primary-actions,
.cicosy-ledger-secondary-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  min-width: 0;
}

.cicosy-ledger-primary-actions {
  padding-top: 1.45rem;
}

.cicosy-ledger-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-width: 0;
  height: 2rem;
  min-height: 2rem;
  border-radius: 0.25rem;
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.cicosy-ledger-btn--secondary {
  --cicosy-btn-bg: #fff;
  --cicosy-btn-border: var(--ledger-border);
  --cicosy-btn-color: var(--ledger-primary);
  --cicosy-btn-hover-bg: var(--ledger-primary-soft);
  --cicosy-btn-hover-border: var(--ledger-border);
  --cicosy-btn-hover-color: var(--ledger-primary);
  border: 1px solid var(--ledger-border);
  background: #fff;
  color: var(--ledger-primary);
  padding: 0 0.75rem;
}

.cicosy-ledger-btn--secondary:hover,
.cicosy-ledger-btn--secondary:focus-visible {
  background: var(--ledger-primary-soft);
  color: var(--ledger-primary);
  box-shadow: none;
  transform: none;
}

.cicosy-ledger-btn--text {
  --cicosy-btn-bg: transparent;
  --cicosy-btn-border: transparent;
  --cicosy-btn-color: var(--ledger-primary);
  --cicosy-btn-hover-bg: transparent;
  --cicosy-btn-hover-border: transparent;
  --cicosy-btn-hover-color: var(--ledger-primary);
  border: 0;
  background: transparent;
  color: var(--ledger-primary);
  padding: 0;
}

.cicosy-ledger-btn--text:hover,
.cicosy-ledger-btn--text:focus-visible {
  color: var(--ledger-primary-dark);
  box-shadow: none;
  transform: none;
}

.cicosy-ledger-btn-caret {
  font-size: 0.65rem;
}

.cicosy-ledger-search-row {
  display: grid;
  grid-template-columns: minmax(18rem, 24rem) auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  max-width: 100%;
  min-width: 0;
}

.cicosy-ledger-search {
  position: relative;
  display: block;
  min-width: 0;
}

.cicosy-ledger-control-search {
  padding: 0 2rem 0 0.75rem;
}

.cicosy-ledger-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: max-content;
  color: var(--ledger-strong);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  white-space: nowrap;
}

.cicosy-ledger-checkbox .form-check-input {
  width: 0.875rem;
  height: 0.875rem;
  margin: 0;
  border-color: var(--ledger-border);
}

.cicosy-ledger-more-filters {
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  align-items: end;
  gap: 0.75rem;
  max-width: 100%;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid var(--ledger-border);
  border-radius: 0.3rem;
  background: #fff;
  box-shadow: var(--ledger-shadow);
}

.cicosy-ledger-more-filters.is-open {
  display: grid;
}

.cicosy-ledger-more-filter-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-start;
  min-width: 0;
}

.cicosy-ledger-filter-clear.cicosy-btn,
.cicosy-ledger-filter-clear {
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ledger-primary);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  box-shadow: none;
  cursor: pointer;
  transform: none;
}

.cicosy-ledger-filter-clear.cicosy-btn:hover,
.cicosy-ledger-filter-clear.cicosy-btn:focus-visible,
.cicosy-ledger-filter-clear:hover,
.cicosy-ledger-filter-clear:focus-visible {
  background: transparent;
  color: var(--ledger-primary-dark);
  text-decoration: underline;
  box-shadow: none;
  transform: none;
}

.cicosy-ledger-table-shell {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  overscroll-behavior-inline: contain;
}

.cicosy-ledger-table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  background: #fff;
  color: var(--ledger-ink);
  table-layout: auto;
}

.cicosy-ledger-table th,
.cicosy-ledger-table td {
  overflow: visible;
  border-bottom: 1px solid var(--ledger-border-soft);
  color: var(--ledger-ink);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-normal);
  padding: 0.55rem 0.8rem;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

.cicosy-ledger-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f8fafc;
  color: var(--ledger-strong);
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.cicosy-ledger-table tbody tr:hover {
  background: var(--ledger-primary-soft);
}

.cicosy-ledger-c-account { min-width: 8.5rem; }
.cicosy-ledger-c-name { min-width: 17rem; }
.cicosy-ledger-c-type { min-width: 10rem; }
.cicosy-ledger-c-amount {
  min-width: 13rem;
  text-align: right !important;
}

.cicosy-ledger-account-number {
  font-weight: 700;
}

.cicosy-ledger-account-number,
.cicosy-ledger-account-name {
  padding-left: calc(0.8rem + (var(--ledger-level, 0) * 1rem)) !important;
}

.cicosy-ledger-account-name {
  font-weight: 600;
}

.cicosy-ledger-row.is-header .cicosy-ledger-account-number,
.cicosy-ledger-row.is-header .cicosy-ledger-account-name,
.cicosy-ledger-row.is-header .cicosy-ledger-amount {
  color: var(--ledger-strong);
  font-weight: 700;
}

.cicosy-ledger-toggle,
.cicosy-ledger-toggle-spacer {
  display: inline-grid;
  place-items: center;
  width: 1rem;
  height: 1rem;
  margin-right: 0.25rem;
  vertical-align: middle;
}

.cicosy-ledger-toggle {
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ledger-primary);
  font-size: 0.75rem;
  padding: 0;
}

.cicosy-ledger-toggle:hover,
.cicosy-ledger-toggle:focus-visible {
  background: var(--ledger-primary-soft);
  color: var(--ledger-primary-dark);
  outline: none;
}

.cicosy-ledger-toggle.is-collapsed i {
  transform: rotate(-90deg);
}

.cicosy-ledger-toggle i {
  transition: transform .15s ease;
}

.cicosy-ledger-amount {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
}

.cicosy-ledger-amount.is-negative,
.cicosy-ledger-row.is-negative .cicosy-ledger-amount:last-child {
  color: var(--ledger-danger);
}

.cicosy-ledger-total-row th,
.cicosy-ledger-total-row td {
  border-top: 1px solid var(--ledger-border-soft);
  border-bottom: 0;
  background: var(--ledger-total-bg);
  color: #0d6efd;
  font-weight: 800;
}

.cicosy-ledger-total-row .is-negative {
  color: #0d6efd;
}

.cicosy-trial-balance-table .cicosy-ledger-amount.is-positive {
  color: var(--cicosy-success, #198754);
  font-weight: 700;
}

.cicosy-trial-balance-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 1rem 0.8rem 0;
  color: var(--ledger-ink);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
}

.cicosy-trial-balance-status,
.cicosy-trial-balance-asof {
  margin: 0;
}

.cicosy-trial-balance-status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 700;
}

.cicosy-trial-balance-status.is-balanced {
  color: var(--cicosy-success, #198754);
}

.cicosy-trial-balance-status.is-unbalanced {
  color: var(--ledger-danger);
}

.cicosy-trial-balance-asof {
  color: var(--ledger-strong);
  text-align: center;
}

@container (max-width: 640px) {
  .cicosy-trial-balance-footer {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .cicosy-trial-balance-asof {
    text-align: left;
  }
}

.cicosy-ledger-developer-slot {
  display: grid;
  place-items: center;
  min-height: 16rem;
  border: 1px dashed var(--ledger-border);
  border-radius: 0.3rem;
  background: #fff;
  color: var(--ledger-muted);
  text-align: center;
  padding: 2rem;
}

.cicosy-ledger-developer-slot strong {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--ledger-primary);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-sm);
}

@container (max-width: 980px) {
  .cicosy-ledger-filter-row,
  .cicosy-ledger-search-row {
    grid-template-columns: 1fr;
  }

  .cicosy-ledger-primary-actions,
  .cicosy-ledger-secondary-actions {
    justify-content: flex-start;
    padding-top: 0;
  }

  .cicosy-ledger-search {
    width: 100%;
  }

  .cicosy-ledger-checkbox {
    min-width: 0;
  }

  .cicosy-ledger-more-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container (max-width: 640px) {
  .cicosy-ledger-tabs-shell {
    height: 2.75rem;
  }

  .cicosy-ledger-filter-fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .cicosy-ledger-field {
    width: 100%;
  }

  .cicosy-ledger-primary-actions,
  .cicosy-ledger-secondary-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .cicosy-ledger-btn { width: 100%; }

  .cicosy-ledger-more-filters {
    grid-template-columns: 1fr;
  }
}

/* Sample corporate banner reference
   Compact proportion of the supplied CICOSY banner geometry, placed above the sample nav. */
.cicosy-sample-has-top-banner {
  --cicosy-sample-top-banner-height: 72px;
}

.brand-banner {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  width: 100%;
  height: var(--cicosy-sample-top-banner-height);
  overflow: hidden;
  isolation: isolate;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #e5e5e5;
  background: #fff;
}

.brand-lockup {
  position: relative;
  z-index: 4;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;
  width: max-content;
  padding: 7px 16px;
}

.brand-lockup picture {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.brand-logo {
  display: block;
  width: auto;
  max-width: 190px;
  max-height: 38px;
  object-fit: contain;
}

.brand-lockup .tagline {
  margin: 0;
  color: #075a34;
  font: italic 12px Georgia, "Times New Roman", serif;
  letter-spacing: .03em;
  white-space: nowrap;
}

.banner-art {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.banner-art svg {
  position: absolute;
  top: 0;
  right: -8%;
  width: 78%;
  min-width: 900px;
  height: 100%;
  overflow: visible;
}

.dot-grid {
  position: absolute;
  top: 10px;
  right: 7%;
  width: 150px;
  height: 48px;
  opacity: .28;
  background-image: radial-gradient(circle, rgba(26,168,75,.75) 1.2px, transparent 1.4px);
  background-size: 14px 14px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 35%, #000 70%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000 70%, transparent);
}

.cicosy-sample-has-top-banner .header {
  top: var(--cicosy-sample-top-banner-height);
}

.cicosy-sample-has-top-banner .sidebar {
  top: calc(60px + var(--cicosy-sample-top-banner-height));
  height: calc(100vh - 60px - var(--cicosy-sample-top-banner-height));
}

.cicosy-sample-has-top-banner #main {
  margin-top: calc(60px + var(--cicosy-sample-top-banner-height));
}

@media (max-width: 1199px) {
  .cicosy-sample-has-top-banner .header .search-bar {
    top: calc(50px + var(--cicosy-sample-top-banner-height));
  }

  .cicosy-sample-has-top-banner .header .search-bar-show {
    top: calc(60px + var(--cicosy-sample-top-banner-height));
  }
}

@media (max-width: 780px) {
  .cicosy-sample-has-top-banner {
    --cicosy-sample-top-banner-height: 62px;
  }

  .brand-lockup {
    gap: 3px;
    padding-left: 12px;
  }

  .brand-logo {
    max-width: 150px;
    max-height: 32px;
  }

  .brand-lockup .tagline {
    font-size: 10px;
  }

  .banner-art svg {
    right: -28%;
    width: 105%;
    opacity: .85;
  }
}

@media (max-width: 500px) {
  .cicosy-sample-has-top-banner {
    --cicosy-sample-top-banner-height: 56px;
  }

  .brand-lockup {
    padding-left: 10px;
  }

  .brand-logo {
    max-width: 122px;
    max-height: 28px;
  }

  .brand-lockup .tagline {
    margin-top: 2px;
    font-size: 8px;
  }

  .banner-art svg {
    right: -58%;
    width: 140%;
  }
}

/* Financial context band widget */
.cicosy-context-band {
  width: 100%;
  overflow: visible;
  color: #07162f;
  background: #fff;
  border-top: 1px solid #dce4ee;
  border-bottom: 1px solid #dce4ee;
}

.cicosy-context-band-grid {
  display: grid;
}

.cicosy-context-band-grid--wide {
  min-height: 55px;
  grid-template-columns: 1.05fr 1fr 0.82fr 0.83fr 1fr 1fr 1fr 0.96fr;
  padding: 0 10px;
}

.cicosy-context-band-item {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 8px 16px;
  font-variant-numeric: tabular-nums;
}

.cicosy-context-band-grid--wide > .cicosy-context-band-item:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 24px;
  background: #dce4ee;
  content: "";
  transform: translateY(-50%);
}

.cicosy-context-band-label {
  display: block;
  overflow: hidden;
  color: #60738f;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cicosy-context-band-value {
  display: flex;
  min-width: 0;
  align-items: center;
  color: #07162f;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.cicosy-context-band-value--emphasis {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
}

.cicosy-context-band-value--status {
  gap: 5px;
}

.cicosy-context-band-select {
  display: flex;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  gap: 5px;
  margin: -4px -6px;
  padding: 4px 6px;
  color: inherit;
  border: 0;
  border-radius: 5px;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.cicosy-context-band-select:hover,
.cicosy-context-band-select:focus-visible {
  background: #f5f8fc;
}

.cicosy-context-band-select:focus-visible,
.cicosy-context-band-toggle:focus-visible,
.cicosy-context-band-menu .dropdown-item:focus-visible {
  outline: 2px solid #1b5e20;
  outline-offset: 2px;
}

.cicosy-context-band-select.dropdown-toggle::after {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  margin: -3px 1px 0;
  border: 0;
  border-right: 1px solid #43536b;
  border-bottom: 1px solid #43536b;
  transform: rotate(45deg);
  transition: transform 150ms ease;
}

.cicosy-context-band-select.dropdown-toggle.show::after {
  margin-top: 3px;
  transform: rotate(225deg);
}

.cicosy-context-band-status {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #72839b;
  font-size: 9px;
  font-weight: 500;
}

.cicosy-context-band-status--closed {
  color: #00a866;
}

.cicosy-context-band-status--open,
.cicosy-context-band-status--neutral {
  color: #72839b;
}

.cicosy-context-band-status-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
}

.cicosy-context-band-menu {
  min-width: 250px;
  padding: 5px;
  border-color: #dce4ee;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(20, 39, 66, 0.14), 0 2px 6px rgba(20, 39, 66, 0.08);
}

.cicosy-context-band-menu .dropdown-item {
  padding: 8px 10px;
  color: #07162f;
  border-radius: 5px;
  font-size: 12px;
  font-weight: 500;
}

.cicosy-context-band-menu .dropdown-item:hover,
.cicosy-context-band-menu .dropdown-item:focus,
.cicosy-context-band-menu .dropdown-item.active,
.cicosy-context-band-menu .dropdown-item:active {
  background: #f5f8fc;
}

.cicosy-context-band-menu .dropdown-item.active,
.cicosy-context-band-menu .dropdown-item:active {
  color: #064d18;
  font-weight: 600;
}

.cicosy-context-band-mobile {
  display: none;
}

.cicosy-context-band-showcase-card .cicosy-card-shell-body {
  overflow: visible;
}

.cicosy-context-band--compliance .cicosy-context-band-grid--wide {
  grid-template-columns:
    minmax(155px, 1.15fr)
    minmax(105px, 0.8fr)
    minmax(85px, 0.65fr)
    minmax(140px, 1.05fr)
    minmax(180px, 1.25fr)
    minmax(105px, 0.9fr)
    minmax(105px, 0.9fr)
    minmax(135px, 1fr);
}

.cicosy-context-band--compliance .cicosy-context-band-grid--wide > .cicosy-context-band-item {
  padding-inline: 10px;
}

.cicosy-context-band--compliance .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(6),
.cicosy-context-band--compliance .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(7) {
  padding-inline: 8px;
}

.cicosy-context-band--configuration .cicosy-context-band-grid--wide {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.cicosy-context-band--configuration .cicosy-context-band-grid--wide > .cicosy-context-band-item {
  padding-inline: 12px;
}

.cicosy-context-band--configuration .cicosy-context-band-status--closed {
  color: #00a866;
}

.cicosy-context-band--configuration-summary {
  margin-top: 0.75rem;
}

.cicosy-context-band--configuration-summary .cicosy-context-band-grid--wide {
  grid-template-columns: 1.25fr 1fr 1fr 1.15fr 1.35fr;
}

.cicosy-context-band--configuration-summary .cicosy-context-band-item--action {
  align-items: center;
}

.cicosy-context-band-summary-action {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.5rem;
  padding: 0;
  border: 0;
  color: var(--cicosy-dashboard-primary, #1b5e20);
  background: transparent;
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  text-align: left;
}

.cicosy-context-band-summary-action span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.cicosy-context-band-summary-action:hover,
.cicosy-context-band-summary-action:focus-visible {
  color: #0f4d18;
}

.cicosy-context-band-summary-action:focus-visible {
  border-radius: 0.2rem;
  outline: 2px solid #1b5e20;
  outline-offset: 3px;
}

.cicosy-context-band-value--score {
  gap: 7px;
}

.cicosy-context-band-value--score strong {
  font-size: 14px;
  line-height: 1;
}

.cicosy-context-band-trend,
.cicosy-context-band-value--assessment i {
  color: #00a866;
}

.cicosy-context-band-trend {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 2px;
  font-size: 9px;
  font-weight: 600;
}

.cicosy-context-band-value--assessment {
  gap: 5px;
}

.cicosy-context-band-value--assessment i {
  flex: 0 0 auto;
  font-size: 11px;
}

.accounting-compliance-page-shell {
  width: 100%;
  min-width: 0;
}

.accounting-compliance-tabs-shell {
  height: 45px;
  margin-top: 0.75rem;
}

.accounting-compliance-tabs-shell .cicosy-invoice-tabs {
  width: 100%;
}

.accounting-compliance-tabs-shell .cicosy-invoice-tab {
  padding-inline: 16px;
}

.accounting-compliance-tab-panels {
  min-width: 0;
}

.accounting-compliance-tab-panels .cicosy-invoice-workspace {
  padding-top: 0.75rem;
}

.accounting-compliance-tab-body-shell {
  min-height: clamp(20rem, 48vh, 34rem);
}

.accounting-compliance-tab-body-shell > .cicosy-card-shell-body,
.accounting-compliance-tab-body {
  min-height: inherit;
}

.accounting-compliance-overview-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}

.accounting-compliance-overview-card {
  min-height: 12.75rem;
  container-type: inline-size;
}

.accounting-compliance-overview-card > .cicosy-card-shell-body {
  display: flex;
  min-height: 12.75rem;
  padding: 1rem;
}

.accounting-compliance-overview-card-body {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.accounting-compliance-overview-card-title {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-compliance-donut-layout {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(6.75rem, 7rem) minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding-top: 0.75rem;
}

.accounting-compliance-donut-chart {
  position: relative;
  width: 7rem;
  height: 7rem;
  display: grid;
  place-items: center;
}

.accounting-compliance-donut-fallback {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(
    --accounting-compliance-donut-fallback,
    conic-gradient(#1b5e20 0 76%, #f59e0b 76% 92%, #ef4444 92% 100%)
  );
}

.accounting-compliance-donut-fallback::before {
  width: 66%;
  height: 66%;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.accounting-compliance-donut-fallback-center {
  position: absolute;
  z-index: 1;
  display: grid;
  justify-items: center;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  line-height: var(--cicosy-line-tight);
}

.accounting-compliance-donut-fallback-center strong {
  font-size: var(--cicosy-text-lg);
}

.accounting-compliance-donut-fallback-center small {
  color: var(--cicosy-text-muted);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-2xs);
}

.accounting-compliance-donut-chart.cicosy-chartjs-is-rendered .accounting-compliance-donut-fallback {
  display: none;
}

.accounting-compliance-donut-chart .cicosy-chartjs-canvas {
  position: relative;
  z-index: 1;
  width: 7rem !important;
  height: 7rem !important;
  max-width: 7rem;
  max-height: 7rem;
}

.accounting-compliance-donut-source {
  display: none;
}

.accounting-compliance-legend,
.accounting-compliance-status-list {
  min-width: 0;
  display: grid;
  gap: 0.55rem;
  margin: 0;
}

.accounting-compliance-legend-row,
.accounting-compliance-status-row {
  --accounting-compliance-tone: #7f8ea3;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  color: var(--cicosy-text-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-compliance-legend-row dt,
.accounting-compliance-status-row dt {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  font-weight: 500;
}

.accounting-compliance-legend-row dd,
.accounting-compliance-status-row dd {
  margin: 0;
  color: var(--cicosy-text-strong);
  font-weight: 700;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.accounting-compliance-legend-swatch {
  width: 0.48rem;
  height: 0.48rem;
  flex: 0 0 auto;
  border-radius: 0.1rem;
  background: var(--accounting-compliance-tone);
}

.accounting-compliance-status-row dt i {
  width: 0.9rem;
  flex: 0 0 auto;
  color: var(--accounting-compliance-tone) !important;
  font-size: var(--cicosy-text-sm);
  text-align: center;
}

.accounting-compliance-tone--success { --accounting-compliance-tone: #16a34a; }
.accounting-compliance-tone--warning { --accounting-compliance-tone: #f59e0b; }
.accounting-compliance-tone--danger { --accounting-compliance-tone: #ef4444; }
.accounting-compliance-tone--secondary { --accounting-compliance-tone: #7f8ea3; }
.accounting-compliance-tone--upcoming { --accounting-compliance-tone: #7c3aed; }

.accounting-compliance-card-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: auto 0 0;
  padding-top: 0.45rem;
  color: var(--cicosy-text-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
}

.accounting-compliance-card-trend i {
  color: #00a866;
}

.accounting-compliance-status-list {
  padding-top: 1rem;
}

.accounting-compliance-card-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.3rem;
  margin-top: auto;
  padding-top: 0.85rem;
  border: 0;
  color: #1b5e20;
  background: transparent;
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  text-align: left;
}

.accounting-compliance-card-link:hover,
.accounting-compliance-card-link:focus-visible {
  color: #0f4d18;
}

.accounting-compliance-card-link:focus-visible {
  border-radius: 0.2rem;
  outline: 2px solid #1b5e20;
  outline-offset: 3px;
}

.accounting-compliance-insights-grid,
.accounting-compliance-detail-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
}

.accounting-compliance-insight-card,
.accounting-compliance-detail-card {
  min-width: 0;
}

.accounting-compliance-insight-card {
  min-height: 15.75rem;
}

.accounting-compliance-insight-card > .cicosy-card-shell-body,
.accounting-compliance-detail-card > .cicosy-card-shell-body {
  display: flex;
  min-width: 0;
  height: 100%;
  padding: 1rem;
}

.accounting-compliance-insight-body,
.accounting-compliance-detail-body {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.accounting-compliance-table-wrap {
  min-width: 0;
  margin-top: 0.75rem;
}

.accounting-compliance-score-cell {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(3.25rem, 1fr);
  align-items: center;
  gap: 0.45rem;
}

.accounting-compliance-score-cell > strong {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-compliance-score-progress {
  width: 100%;
  min-width: 3.25rem;
}

.accounting-compliance-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  font-weight: 700;
  white-space: nowrap;
}

.accounting-compliance-trend--success {
  color: #168a4b;
}

.accounting-compliance-trend--danger {
  color: #dc3545;
}

.accounting-compliance-trend i {
  color: currentColor !important;
  font-size: var(--cicosy-text-xs);
}

.accounting-compliance-date-list {
  min-width: 0;
  display: grid;
  gap: 0;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

.accounting-compliance-date-list li {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--cicosy-border-soft, #e7eef0);
  color: var(--cicosy-text-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-compliance-date-list li:last-child {
  border-bottom: 0;
}

.accounting-compliance-date-list i {
  color: var(--cicosy-dashboard-primary, #1b5e20) !important;
  font-size: var(--cicosy-text-base);
  text-align: center;
}

.accounting-compliance-date-list span {
  min-width: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.accounting-compliance-date-list time {
  color: var(--cicosy-text-strong);
  font-weight: 700;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.accounting-compliance-detail-card {
  min-height: 18.5rem;
}

.accounting-compliance-quick-actions {
  --accounting-ap-primary: var(--cicosy-dashboard-primary, #1b5e20);
}

.accounting-compliance-quick-actions .accounting-ap-action-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem;
  margin-top: 1rem;
}

.accounting-compliance-quick-actions .accounting-ap-action-link {
  width: fit-content;
}

.accounting-compliance-quick-actions .accounting-ap-action-link i {
  width: 1.1rem;
  color: currentColor !important;
  text-align: center;
}

.cicosy-configuration-overview {
  display: grid;
  min-width: 0;
  gap: 0.75rem;
}

.cicosy-configuration-main-left,
.cicosy-configuration-main-right {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 0.75rem;
}

.cicosy-configuration-areas {
  min-width: 0;
}

.cicosy-configuration-health-stack {
  min-width: 0;
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 0.75rem;
}

.cicosy-configuration-health-stack > .accounting-compliance-overview-card {
  min-height: 11rem;
  height: auto;
}

.cicosy-configuration-health-stack > .accounting-compliance-overview-card > .cicosy-card-shell-body {
  min-height: 11rem;
}

.cicosy-configuration-event-card {
  min-width: 0;
  min-height: 13.75rem;
}

.cicosy-configuration-event-card > .cicosy-card-shell-body {
  min-height: 13.75rem;
  padding: 0.75rem;
}

.cicosy-configuration-event-card-body {
  min-width: 0;
}

.cicosy-configuration-event-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.cicosy-configuration-event-card-header h3 {
  min-width: 0;
  margin: 0;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.cicosy-configuration-event-close {
  display: inline-grid;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  color: var(--cicosy-text-strong);
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  font-size: var(--cicosy-text-xs);
}

.cicosy-configuration-event-close:hover,
.cicosy-configuration-event-close:focus-visible {
  color: var(--cicosy-dashboard-primary, #1b5e20);
  background: #eef7f0;
}

.cicosy-configuration-event-close:focus-visible {
  outline: 2px solid var(--cicosy-dashboard-primary, #1b5e20);
  outline-offset: 2px;
}

.cicosy-configuration-event-list {
  display: grid;
  gap: 0.2rem;
  margin: 0;
}

.cicosy-configuration-event-list > div {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(4.5rem, 0.8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 0.5rem;
  min-height: 1.45rem;
}

.cicosy-configuration-event-list dt,
.cicosy-configuration-event-list dd {
  min-width: 0;
  margin: 0;
  font-size: var(--cicosy-text-2xs);
  line-height: var(--cicosy-line-snug);
}

.cicosy-configuration-event-list dt {
  color: var(--cicosy-text-muted);
  font-weight: 600;
}

.cicosy-configuration-event-list dd {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  overflow-wrap: anywhere;
  color: var(--cicosy-text-body);
  font-weight: 700;
}

.cicosy-configuration-event-avatar {
  display: inline-grid;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: #1d4ed8;
  font-size: 0.5rem;
  font-weight: 700;
}

.cicosy-configuration-event-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.15rem 0.35rem;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  white-space: nowrap;
}

.cicosy-configuration-event-badge--info {
  color: #2563eb;
  border-color: #bfdbfe;
  background: #eff6ff;
}

.cicosy-configuration-event-badge--success {
  color: #087443;
  border-color: #b7e6c8;
  background: #effaf3;
}

.cicosy-configuration-section-title {
  margin: 0 0 0.75rem;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-base);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.cicosy-configuration-area-grid,
.cicosy-configuration-area-grid > .cicosy-card-grid {
  min-width: 0;
}

.cicosy-configuration-area-grid > .cicosy-card-grid {
  gap: 0.75rem;
}

.cicosy-configuration-area-card {
  min-width: 0;
  min-height: 9.25rem;
}

.cicosy-configuration-area-card > .cicosy-card-shell-body {
  display: flex;
  min-height: 9.25rem;
  padding: 1rem;
}

.cicosy-configuration-area-card-body {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.cicosy-configuration-area-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 0.65rem;
}

.cicosy-configuration-area-heading h3 {
  min-width: 0;
  margin: 0;
  color: var(--cicosy-text-strong);
  font-family: var(--cicosy-font-display);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.cicosy-configuration-area-icon {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  border-radius: 0.35rem;
  background: #eef4ff;
  color: #2563eb;
  font-size: var(--cicosy-text-lg);
}

.cicosy-configuration-area-icon--success { background: #e8f7ef; color: #159447; }
.cicosy-configuration-area-icon--warning { background: #fff4df; color: #d97706; }
.cicosy-configuration-area-icon--info { background: #e8f8fb; color: #0891b2; }
.cicosy-configuration-area-icon--purple { background: #f1eafe; color: #7c3aed; }
.cicosy-configuration-area-icon--secondary { background: #eef1f6; color: #52627a; }

.cicosy-configuration-area-card-body p {
  min-height: 2.4rem;
  margin: 0.75rem 0 0;
  color: var(--cicosy-text-body);
  font-size: var(--cicosy-text-xs);
  line-height: var(--cicosy-line-normal);
}

.cicosy-configuration-area-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.5rem;
  margin-top: auto;
  padding: 0.65rem 0 0;
  border: 0;
  color: var(--cicosy-text-strong);
  background: transparent;
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
  text-align: left;
}

.cicosy-configuration-area-link:hover,
.cicosy-configuration-area-link:focus-visible {
  color: var(--cicosy-dashboard-primary, #1b5e20);
}

.cicosy-configuration-area-link:focus-visible {
  border-radius: 0.2rem;
  outline: 2px solid var(--cicosy-dashboard-primary, #1b5e20);
  outline-offset: 3px;
}

.cicosy-configuration-side-stack {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 0.75rem;
}

.cicosy-configuration-recent-card,
.cicosy-configuration-quick-actions,
.cicosy-configuration-pending-card {
  min-height: 0;
}

.cicosy-configuration-recent-card > .cicosy-card-shell-body,
.cicosy-configuration-quick-actions > .cicosy-card-shell-body,
.cicosy-configuration-pending-card > .cicosy-card-shell-body {
  min-width: 0;
  padding: 1rem;
}

.cicosy-configuration-change-list {
  display: grid;
  gap: 0.85rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.cicosy-configuration-change-list li {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  align-items: start;
  gap: 0.55rem;
}

.cicosy-configuration-change-icon {
  margin-top: 0.15rem;
  color: #159447;
  font-size: var(--cicosy-text-sm);
}

.cicosy-configuration-change-list strong,
.cicosy-configuration-change-list span {
  display: block;
  overflow-wrap: anywhere;
}

.cicosy-configuration-change-list strong {
  color: var(--cicosy-text-body);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.cicosy-configuration-change-list span {
  margin-top: 0.2rem;
  color: var(--cicosy-text-muted);
  font-size: var(--cicosy-text-2xs);
  line-height: var(--cicosy-line-snug);
}

.cicosy-configuration-pending-table {
  min-width: 0;
  overflow-x: auto;
}

.cicosy-configuration-pending-table .cicosy-table {
  min-width: 46rem;
}

.cicosy-configuration-quick-actions .accounting-ap-action-grid {
  margin-top: 1rem;
}

@media (max-width: 1199.98px) {
  .cicosy-configuration-health-stack {
    grid-template-rows: auto auto;
  }

  .cicosy-configuration-health-stack > .accounting-compliance-overview-card {
    height: auto;
    min-height: 11rem;
  }
}

@container (max-width: 14.5rem) {
  .accounting-compliance-donut-layout {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  .accounting-compliance-legend {
    width: min(100%, 12rem);
  }
}

@media (min-width: 48rem) {
  .accounting-compliance-overview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accounting-compliance-insights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accounting-compliance-insights-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (min-width: 48rem) and (max-width: 61.99875rem) {
  .accounting-compliance-overview-grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (min-width: 62rem) and (max-width: 87.49875rem) {
  .accounting-compliance-overview-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .accounting-compliance-overview-grid > * {
    grid-column: span 2;
  }

  .accounting-compliance-overview-grid > :nth-child(n + 4) {
    grid-column: span 3;
  }
}

@media (min-width: 87.5rem) {
  .accounting-compliance-overview-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.25fr) repeat(3, minmax(0, 1fr));
  }

  .accounting-compliance-overview-grid > * {
    grid-column: auto;
  }

  .accounting-compliance-overview-card > .cicosy-card-shell-body {
    padding: 0.875rem;
  }

  .accounting-compliance-donut-layout {
    grid-template-columns: minmax(5.75rem, 5.75rem) minmax(0, 1fr);
    gap: 0.55rem;
  }

  .accounting-compliance-donut-chart,
  .accounting-compliance-donut-chart .cicosy-chartjs-canvas {
    width: 5.75rem !important;
    height: 5.75rem !important;
    max-width: 5.75rem;
    max-height: 5.75rem;
  }

  .accounting-compliance-legend-row,
  .accounting-compliance-status-row {
    gap: 0.35rem;
    font-size: var(--cicosy-text-xs);
  }
}

@media (min-width: 75rem) {
  .accounting-compliance-insights-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.15fr) minmax(15rem, 0.85fr);
  }

  .accounting-compliance-insights-grid > :last-child:nth-child(odd) {
    grid-column: auto;
  }

  .accounting-compliance-detail-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.15fr) minmax(15rem, 0.85fr);
  }

  .accounting-compliance-detail-grid > :first-child {
    grid-column: 1 / 3;
  }
}

@media (max-width: 35.99875rem) {
  .accounting-compliance-date-list li {
    grid-template-columns: 1.25rem minmax(0, 1fr);
  }

  .accounting-compliance-date-list time {
    grid-column: 2;
    white-space: normal;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .cicosy-context-band-grid--wide {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 8px;
  }

  .cicosy-context-band--compliance .cicosy-context-band-grid--wide {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .cicosy-context-band--configuration .cicosy-context-band-grid--wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cicosy-context-band--configuration-summary .cicosy-context-band-grid--wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cicosy-context-band--configuration .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(-n + 3),
  .cicosy-context-band--configuration-summary .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(-n + 3) {
    border-bottom: 1px solid #e9eef4;
  }

  .cicosy-context-band--configuration .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(n + 4),
  .cicosy-context-band--configuration-summary .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(n + 4) {
    border-bottom: 0;
  }

  .cicosy-context-band--configuration .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(3)::after,
  .cicosy-context-band--configuration-summary .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(3)::after {
    display: none;
  }

  .cicosy-context-band-grid--wide > .cicosy-context-band-item {
    min-height: 55px;
  }

  .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(-n + 4) {
    border-bottom: 1px solid #e9eef4;
  }

  .cicosy-context-band-grid--wide > .cicosy-context-band-item:nth-child(4)::after {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .cicosy-context-band-mobile {
    display: block;
  }

  .cicosy-context-band-mobile-row,
  .cicosy-context-band-mobile-details {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(110px, 0.65fr);
  }

  .cicosy-context-band-mobile-row {
    border-bottom: 1px solid #e9eef4;
  }

  .cicosy-context-band-mobile-cell {
    position: relative;
    min-width: 0;
    padding: 11px 14px 10px;
  }

  .cicosy-context-band-mobile-cell:first-child::after,
  .cicosy-context-band-mobile-row--snapshot .cicosy-context-band-mobile-cell:first-child::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 28px;
    background: #dce4ee;
    content: "";
    transform: translateY(-50%);
  }

  .cicosy-context-band-mobile-cell .cicosy-context-band-select {
    width: calc(100% + 12px);
    margin-top: 1px;
  }

  .cicosy-context-band-mobile-cell--metric {
    display: flex;
    min-height: 60px;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
  }

  .cicosy-context-band-value--mobile-close {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .cicosy-context-band-mobile-details {
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid #e9eef4;
  }

  .cicosy-context-band-mobile-details .cicosy-context-band-item {
    min-height: 58px;
    padding: 9px 14px;
  }

  .cicosy-context-band-mobile-details .cicosy-context-band-item:nth-child(odd) {
    border-right: 1px solid #e9eef4;
  }

  .cicosy-context-band-mobile-details .cicosy-context-band-item:nth-child(-n + 2) {
    border-bottom: 1px solid #e9eef4;
  }

  .cicosy-context-band-mobile-details--compliance .cicosy-context-band-item {
    border-bottom: 1px solid #e9eef4;
  }

  .cicosy-context-band-mobile-details--compliance .cicosy-context-band-item:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .cicosy-context-band-mobile-details--configuration .cicosy-context-band-item {
    border-bottom: 1px solid #e9eef4;
  }

  .cicosy-context-band-mobile-details--configuration .cicosy-context-band-item:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .cicosy-context-band-mobile-details--configuration-summary .cicosy-context-band-item {
    border-bottom: 1px solid #e9eef4;
  }

  .cicosy-context-band-mobile-details--configuration-summary .cicosy-context-band-item:last-child {
    border-bottom: 0;
  }

  .cicosy-context-band-toggle {
    display: flex;
    width: 100%;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 14px;
    color: #60738f;
    border: 0;
    background: #fff;
    font-size: 10px;
    font-weight: 600;
  }

  .cicosy-context-band-toggle:hover {
    color: #07162f;
    background: #f5f8fc;
  }

  .cicosy-context-band-chevron {
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    transition: transform 150ms ease;
  }

  .cicosy-context-band-toggle[aria-expanded="true"] .cicosy-context-band-chevron {
    margin-top: 3px;
    transform: rotate(225deg);
  }
}

/*--------------------------------------------------------------
# Cicosy Universal Dashboard Typography Refinement
--------------------------------------------------------------*/
.main :is(
  .cicosy-card-shell,
  .cicosy-card-shell-body,
  .card,
  .table,
  .cicosy-table,
  .cicosy-journal-table,
  .cicosy-trial-balance-table,
  .cicosy-top-accounts-card,
  .cicosy-top-accounts-table,
  .cicosy-financial-summary-card,
  .cicosy-invoice-recipe,
  .cicosy-ledger-recipe,
  .accounting-je-detail,
  .accounting-account-detail,
  .accounting-ap-detail,
  .cicosy-widget,
  .cicosy-context-band
) {
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-base) !important;
  line-height: var(--cicosy-line-normal) !important;
  letter-spacing: 0 !important;
  color: var(--cicosy-text-body) !important;
}

.main :is(
  .pagetitle h1,
  .card-title,
  .dashboard .info-card h6,
  .cicosy-card-shell-title,
  .cicosy-table-section-title,
  .cicosy-journal-table-header h2,
  .cicosy-trial-balance-header h2,
  .cicosy-top-accounts-header h2,
  .cicosy-financial-summary-header h2,
  .cicosy-financial-summary-pane-title,
  .cicosy-invoice-title,
  .accounting-dashboard-placeholder strong,
  .cicosy-invoice-developer-slot strong,
  .cicosy-ledger-developer-slot strong,
  .accounting-je-number,
  .accounting-account-detail-title,
  .accounting-ap-detail-title,
  .cicosy-widget-chart h3,
  .cicosy-widget-banner h3,
  .cicosy-widget-article h3,
  .cicosy-widget-profile h3
) {
  font-family: var(--cicosy-font-display) !important;
  font-size: var(--cicosy-text-lg) !important;
  font-weight: 700 !important;
  line-height: var(--cicosy-line-tight) !important;
  letter-spacing: 0 !important;
  color: var(--cicosy-text-strong) !important;
}

.main .pagetitle h1 {
  font-size: var(--cicosy-text-2xl) !important;
}

.main :is(
  .cicosy-card-shell-note,
  .accounting-dashboard-placeholder,
  .cicosy-invoice-developer-slot,
  .cicosy-ledger-developer-slot,
  .cicosy-pagination-result-info,
  .cicosy-context-band-label,
  .cicosy-widget-meta,
  .cicosy-widget-byline,
  .cicosy-card-widget-muted,
  .cicosy-card-widget-byline,
  .cicosy-card-widget-meta-row
) {
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-sm) !important;
  font-weight: 400 !important;
  line-height: var(--cicosy-line-snug) !important;
  letter-spacing: 0 !important;
  color: var(--cicosy-text-muted) !important;
}

.main :is(
  .cicosy-table thead th,
  .table thead th,
  .cicosy-journal-table thead th,
  .cicosy-trial-balance-table thead th,
  .cicosy-top-accounts-table thead th,
  .cicosy-financial-summary-table thead th,
  .cicosy-invoice-table thead th,
  .cicosy-ledger-table thead th,
  .cicosy-data-table-sort,
  .cicosy-table-header-label,
  .cicosy-invoice-field-label,
  .cicosy-ledger-field-label,
  .cicosy-context-band-label,
  .cicosy-widget-label
) {
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-xs) !important;
  font-weight: 600 !important;
  line-height: var(--cicosy-line-snug) !important;
  letter-spacing: var(--cicosy-letter-label) !important;
  text-transform: uppercase !important;
}

.main :is(
  .cicosy-table tbody th,
  .cicosy-table tbody td,
  .table tbody th,
  .table tbody td,
  .cicosy-journal-table tbody th,
  .cicosy-journal-table tbody td,
  .cicosy-trial-balance-table tbody th,
  .cicosy-trial-balance-table tbody td,
  .cicosy-top-accounts-table tbody th,
  .cicosy-top-accounts-table tbody td,
  .cicosy-financial-summary-row,
  .cicosy-invoice-table tbody th,
  .cicosy-invoice-table tbody td,
  .cicosy-ledger-table tbody th,
  .cicosy-ledger-table tbody td,
  .accounting-je-summary-row,
  .accounting-account-detail-row,
  .accounting-ap-summary-row
) {
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-sm) !important;
  font-weight: 400 !important;
  line-height: var(--cicosy-line-normal) !important;
  letter-spacing: 0 !important;
  color: var(--cicosy-text-body) !important;
}

.main :is(
  .cicosy-table tbody th,
  .cicosy-table strong,
  .cicosy-table a,
  .cicosy-journal-table strong,
  .cicosy-journal-table a,
  .cicosy-trial-balance-table tbody th,
  .cicosy-top-accounts-table tbody th,
  .cicosy-top-accounts-table strong,
  .cicosy-financial-summary-row.is-total,
  .cicosy-financial-summary-row.is-strong,
  .cicosy-invoice-link,
  .cicosy-invoice-amount,
  .cicosy-ledger-account-number,
  .cicosy-ledger-account-name,
  .cicosy-ledger-amount,
  .accounting-je-summary-value,
  .accounting-account-detail-value,
  .accounting-ap-summary-value
) {
  font-weight: 700 !important;
  color: var(--cicosy-text-strong) !important;
}

.main :is(
  .cicosy-invoice-tab,
  .cicosy-ledger-tab
) {
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-sm) !important;
  font-weight: 600 !important;
  line-height: var(--cicosy-line-snug) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.main :is(
  .cicosy-btn,
  .btn,
  .cicosy-invoice-btn,
  .cicosy-ledger-btn,
  .cicosy-table-action,
  .cicosy-pagination-link,
  .cicosy-pagination-entries-control,
  .cicosy-context-band-select,
  .cicosy-context-band-toggle,
  .cicosy-context-band-menu .dropdown-item,
  .cicosy-invoice-control,
  .cicosy-ledger-control,
  .form-control,
  .form-select
) {
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-base) !important;
  line-height: var(--cicosy-line-normal) !important;
  letter-spacing: 0 !important;
}

.main :is(
  .cicosy-widget-value,
  .cicosy-widget-solid-stat strong,
  .cicosy-card-widget-solid-stat strong,
  .cicosy-context-band-value--emphasis,
  .cicosy-financial-summary-value,
  .cicosy-trial-balance-table .is-total,
  .cicosy-journal-table .cicosy-journal-number
) {
  font-family: var(--cicosy-font-display) !important;
  font-size: var(--cicosy-text-lg) !important;
  font-weight: 700 !important;
  line-height: var(--cicosy-line-tight) !important;
  letter-spacing: 0 !important;
  color: var(--cicosy-text-strong) !important;
}

.main :is(
  .cicosy-badge,
  .badge,
  .cicosy-context-band-status,
  .cicosy-pagination-status
) {
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-xs) !important;
  font-weight: 600 !important;
  line-height: var(--cicosy-line-snug) !important;
  letter-spacing: 0 !important;
}

/* Universal invoice/data-list toolbar layout
   Shared by Sample Tables invoice recipes and product pages that use cicosy-invoice-* list markup. */
.cicosy-invoice-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: start !important;
  gap: 0.75rem 1rem !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.cicosy-invoice-filter-fields {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)) !important;
  align-items: start !important;
  gap: 0.75rem !important;
  min-width: 0 !important;
}

.cicosy-invoice-filter-fields > .cicosy-invoice-field {
  flex: initial !important;
  width: auto !important;
  min-width: 0 !important;
}

.cicosy-invoice-field--search,
.cicosy-invoice-field:has([data-cicosy-invoice-search]) {
  grid-column: auto !important;
  min-width: min(100%, 16rem) !important;
}

.cicosy-invoice-field--search .cicosy-invoice-control,
.cicosy-invoice-field:has([data-cicosy-invoice-search]) .cicosy-invoice-control {
  min-width: 0 !important;
  padding-right: 2rem !important;
}

.cicosy-invoice-control,
.cicosy-invoice-control-select,
.cicosy-invoice-control-date,
.cicosy-pagination-entries-control select,
.cicosy-form-select,
.form-select {
  accent-color: var(--cicosy-dashboard-primary, #1b5e20);
}

.cicosy-invoice-control:focus,
.cicosy-invoice-control-select:focus,
.cicosy-invoice-control-date:focus {
  border-color: var(--cicosy-dashboard-primary, #1b5e20) !important;
  box-shadow: 0 0 0 0.18rem rgba(27, 94, 32, 0.14) !important;
  outline: 0 !important;
}

.cicosy-invoice-control option,
.cicosy-invoice-control-select option,
.form-select option,
.cicosy-form-select option,
.cicosy-pagination-entries-control select option {
  color: var(--cicosy-text-strong, #07162f);
  background: #fff;
}

.cicosy-invoice-control option:checked,
.cicosy-invoice-control-select option:checked,
.form-select option:checked,
.cicosy-form-select option:checked,
.cicosy-pagination-entries-control select option:checked {
  color: var(--cicosy-dashboard-primary, #1b5e20);
  background: linear-gradient(var(--cicosy-dashboard-primary-soft, #eef8ef), var(--cicosy-dashboard-primary-soft, #eef8ef));
}

.cicosy-invoice-toolbar-actions {
  align-self: start !important;
  justify-self: end !important;
  width: 24.25rem !important;
  max-width: 100% !important;
  padding-top: 1.35rem !important;
}

.cicosy-invoice-more-filters {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(auto-fit, minmax(8.75rem, 12rem)) !important;
  align-items: end !important;
  gap: 0.75rem !important;
}

.cicosy-invoice-more-filters.is-open {
  display: grid !important;
}

.cicosy-invoice-more-filters > .cicosy-invoice-field {
  width: auto !important;
  min-width: 0 !important;
}

@container (max-width: 47.5rem) {
  .cicosy-invoice-toolbar {
    grid-template-columns: 1fr !important;
  }

  .cicosy-invoice-filter-fields,
  .cicosy-invoice-more-filters {
    grid-template-columns: 1fr !important;
  }

  .cicosy-invoice-field--search,
  .cicosy-invoice-field:has([data-cicosy-invoice-search]) {
    grid-column: auto !important;
    min-width: 0 !important;
  }

  .cicosy-invoice-toolbar-actions {
    justify-self: stretch !important;
    width: 100% !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 47.99rem) {
  .cicosy-invoice-toolbar {
    grid-template-columns: 1fr !important;
  }

  .cicosy-invoice-filter-fields,
  .cicosy-invoice-more-filters {
    grid-template-columns: 1fr !important;
  }

  .cicosy-invoice-field--search,
  .cicosy-invoice-field:has([data-cicosy-invoice-search]) {
    grid-column: auto !important;
    min-width: 0 !important;
  }

  .cicosy-invoice-toolbar-actions {
    justify-self: stretch !important;
    width: 100% !important;
    padding-top: 0 !important;
  }
}

/* Reconciliation data-list variant
   Uses the invoice data-list table family; these rules cover only row identity details. */
.cicosy-reconciliation-list-recipe .cicosy-reconciliation-toolbar-actions {
  grid-template-columns: 5.5rem 5.125rem !important;
  width: 11.125rem !important;
}

.cicosy-reconciliation-list-recipe .cicosy-reconciliation-toolbar-actions .cicosy-invoice-export {
  grid-column: auto !important;
  grid-row: auto !important;
}

.cicosy-reconciliation-list-recipe .cicosy-reconciliation-category,
.cicosy-reconciliation-list-recipe .cicosy-reconciliation-user {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  white-space: nowrap;
}

.cicosy-reconciliation-list-recipe .cicosy-reconciliation-icon,
.cicosy-reconciliation-list-recipe .cicosy-reconciliation-avatar {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  font-size: var(--cicosy-text-xs);
  font-weight: 800;
  line-height: 1;
}

.cicosy-reconciliation-list-recipe .cicosy-reconciliation-icon {
  color: var(--cicosy-dashboard-primary, #1b5e20);
  background: var(--cicosy-dashboard-primary-soft, #eef8ef);
  border: 1px solid var(--cicosy-dashboard-primary-border, #cfe8d2);
}

.cicosy-reconciliation-list-recipe .cicosy-reconciliation-icon--bank,
.cicosy-reconciliation-list-recipe .cicosy-reconciliation-icon--fixed-assets {
  color: #173f8a;
  background: #edf4ff;
  border-color: #cfe0ff;
}

.cicosy-reconciliation-list-recipe .cicosy-reconciliation-icon--inventory,
.cicosy-reconciliation-list-recipe .cicosy-reconciliation-icon--prepaid {
  color: #a16207;
  background: #fff7ed;
  border-color: #fed7aa;
}

.cicosy-reconciliation-list-recipe .cicosy-reconciliation-icon--intercompany {
  color: #4c1d95;
  background: #f3e8ff;
  border-color: #ddd6fe;
}

.cicosy-reconciliation-list-recipe .cicosy-reconciliation-avatar {
  color: #fff;
  background: var(--cicosy-dashboard-primary, #1b5e20);
}

@container (max-width: 47.5rem) {
  .cicosy-reconciliation-list-recipe .cicosy-reconciliation-toolbar-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}

@media (max-width: 47.99rem) {
  .cicosy-reconciliation-list-recipe .cicosy-reconciliation-toolbar-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}

/* Accounting close manager summary card */
.accounting-close-summary-shell {
  min-height: 100%;
}

.accounting-close-summary-shell > .cicosy-card-shell-body {
  height: 100%;
  padding: 0;
  overflow: hidden;
}

.accounting-close-summary {
  --accounting-close-primary: var(--cicosy-dashboard-primary, #1b5e20);
  --accounting-close-primary-soft: var(--cicosy-dashboard-primary-soft, #eef8ef);
  --accounting-close-border: var(--cicosy-dashboard-primary-border, #cfe8d2);
  --accounting-close-border-soft: #e5edf0;
  --accounting-close-text: var(--cicosy-text-strong, #17233c);
  --accounting-close-muted: var(--cicosy-text-muted, #667085);
  --accounting-close-warning: #f59e0b;
  --accounting-close-warning-soft: #fff7e6;
  --accounting-close-danger: #ef4444;
  --accounting-close-danger-soft: #fff0f3;
  --accounting-close-purple: #7c3aed;
  --accounting-close-purple-soft: #f4f1ff;
  position: relative;
  height: 100%;
  min-height: 36rem;
  background: #fff;
  color: var(--accounting-close-text);
  container-type: inline-size;
}

.accounting-close-summary-body {
  height: 100%;
  min-height: inherit;
  display: grid;
  align-content: start;
  gap: 0.75rem;
  padding: 1rem;
  overflow: auto;
}

.accounting-close-section {
  min-width: 0;
  border: 1px solid var(--accounting-close-border-soft);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(27, 94, 32, 0.04);
  overflow: hidden;
}

.accounting-close-section-header {
  min-height: 3.125rem;
  padding: 0.8rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-bottom: 1px solid var(--accounting-close-border-soft);
}

.accounting-close-title-row {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.accounting-close-title-row h2 {
  min-width: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--accounting-close-text);
  font-family: var(--cicosy-font-heading, var(--cicosy-font-display));
  font-size: var(--cicosy-text-md);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-title-row h2 i {
  color: var(--accounting-close-primary);
  font-size: var(--cicosy-text-base);
}

.accounting-close-info {
  display: inline-flex;
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-sm);
  line-height: 1;
}

.accounting-close-section-subtitle {
  flex-basis: 100%;
  margin: 0;
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-2xs);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-icon-button.cicosy-btn {
  width: 2rem;
  height: 2rem;
  min-height: 2rem;
  padding: 0;
}

.accounting-close-task-status {
  padding: 1rem;
  display: grid;
  grid-template-columns: minmax(8.25rem, 0.85fr) minmax(10rem, 1.15fr);
  align-items: center;
  gap: 1rem;
}

.accounting-close-chart-wrap {
  position: relative;
  min-width: 0;
  height: 8.25rem;
}

.accounting-close-chart-wrap .cicosy-chartjs-canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

.accounting-close-chart-source {
  display: none;
}

.accounting-close-status-list {
  margin: 0;
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.accounting-close-status-row,
.accounting-close-upcoming-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.accounting-close-status-row dt,
.accounting-close-upcoming-strip dt {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  color: var(--accounting-close-text);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-status-row dd,
.accounting-close-upcoming-strip dd {
  margin: 0;
  color: var(--accounting-close-text);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.accounting-close-status-dot {
  width: 0.62rem;
  height: 0.62rem;
  flex: 0 0 auto;
  border-radius: 3px;
  background: #94a3b8;
}

.accounting-close-status-dot--success { background: var(--accounting-close-primary); }
.accounting-close-status-dot--warning { background: var(--accounting-close-warning); }
.accounting-close-status-dot--danger { background: var(--accounting-close-danger); }
.accounting-close-status-dot--purple { background: var(--accounting-close-purple); }

.accounting-close-upcoming-strip {
  margin-top: 0.1rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid #ddd6fe;
  border-radius: 4px;
  background: var(--accounting-close-purple-soft);
}

.accounting-close-summary-footer {
  padding: 0.7rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
  border-top: 1px solid var(--accounting-close-border-soft);
}

.accounting-close-summary-footer > span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-close-target-button.cicosy-btn {
  min-height: 2rem;
  padding: 0.4rem 0.65rem;
  font-size: var(--cicosy-text-xs);
}

.accounting-close-days-body,
.accounting-close-calendar-body,
.accounting-close-actions-body {
  padding: 1rem;
}

.accounting-close-status-chip {
  display: inline-flex;
  min-height: 1.45rem;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--accounting-close-border);
  border-radius: 4px;
  background: var(--accounting-close-primary-soft);
  color: var(--accounting-close-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.accounting-close-status-chip--success {
  border-color: var(--accounting-close-border);
  background: var(--accounting-close-primary-soft);
  color: var(--accounting-close-primary);
}

.accounting-close-status-chip--warning {
  border-color: #f1d08a;
  background: var(--accounting-close-warning-soft);
  color: #8a5a00;
}

.accounting-close-status-chip--danger {
  border-color: #f3b4bd;
  background: var(--accounting-close-danger-soft);
  color: #b4232e;
}

.accounting-close-deadline-layout {
  display: grid;
  grid-template-columns: minmax(7.75rem, 0.8fr) minmax(0, 1.2fr);
  align-items: stretch;
  gap: 1rem;
}

.accounting-close-deadline-primary {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 1rem;
  border-right: 1px solid var(--accounting-close-border-soft);
}

.accounting-close-deadline-kicker,
.accounting-close-deadline-date-label {
  display: block;
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-2xs);
  font-weight: 800;
  letter-spacing: var(--cicosy-letter-label);
  line-height: var(--cicosy-line-snug);
  text-transform: uppercase;
}

.accounting-close-deadline-value {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.accounting-close-deadline-number {
  color: var(--accounting-close-text);
  font-family: var(--cicosy-font-heading, var(--cicosy-font-display));
  font-size: 2.75rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 0.95;
}

.accounting-close-deadline-unit {
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-deadline-date-label {
  margin-top: 0.8rem;
}

.accounting-close-deadline-date {
  display: block;
  margin-top: 0.2rem;
  color: var(--accounting-close-text);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-deadline-detail {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 0.75rem;
}

.accounting-close-deadline-alert {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.7rem 0.75rem;
  border: 1px solid var(--accounting-close-border);
  border-left-width: 3px;
  border-radius: 0 4px 4px 0;
  background: #fbfdfb;
}

.accounting-close-deadline-alert--success {
  border-color: var(--accounting-close-border);
  background: #fbfdfb;
}

.accounting-close-deadline-alert--warning {
  border-color: #f1d08a;
  background: #fffbf2;
}

.accounting-close-deadline-alert--danger {
  border-color: #f3b4bd;
  background: #fff8f9;
}

.accounting-close-deadline-alert strong {
  display: block;
  color: var(--accounting-close-text);
  font-size: var(--cicosy-text-sm);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-deadline-alert p {
  margin: 0.2rem 0 0;
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-xs);
  font-weight: 600;
  line-height: var(--cicosy-line-normal);
}

.accounting-close-deadline-state {
  display: inline-flex;
  min-height: 1.35rem;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0.2rem 0.45rem;
  border: 1px solid var(--accounting-close-border);
  border-radius: 4px;
  background: var(--accounting-close-primary-soft);
  color: var(--accounting-close-primary);
  font-size: var(--cicosy-text-2xs);
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.accounting-close-deadline-state--warning {
  border-color: #e8c36c;
  background: #fff7df;
  color: #8a5a00;
}

.accounting-close-deadline-state--danger {
  border-color: #f3b4bd;
  background: var(--accounting-close-danger-soft);
  color: #b4232e;
}

.accounting-close-deadline-metrics {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--accounting-close-border-soft);
}

.accounting-close-deadline-metric {
  min-width: 0;
}

.accounting-close-deadline-metric + .accounting-close-deadline-metric {
  padding-left: 0.75rem;
  border-left: 1px solid var(--accounting-close-border-soft);
}

.accounting-close-deadline-metric strong {
  display: block;
  color: var(--accounting-close-text);
  font-size: var(--cicosy-text-xs);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-deadline-metric span {
  display: block;
  margin-top: 0.25rem;
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-calendar-toolbar {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) 2rem;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.accounting-close-calendar-nav.cicosy-btn {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  min-height: 2rem;
  padding: 0;
}

.accounting-close-calendar-month {
  min-width: 0;
  margin-bottom: 0;
  color: var(--accounting-close-text);
  font-family: var(--cicosy-font-heading, var(--cicosy-font-display));
  font-size: var(--cicosy-text-base);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  text-align: center;
}

.accounting-close-calendar-weekdays,
.accounting-close-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  text-align: center;
}

.accounting-close-calendar-weekdays {
  margin-bottom: 0.25rem;
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-2xs);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-calendar-weekdays span {
  padding: 0.35rem 0;
}

.accounting-close-calendar-grid {
  gap: 0.25rem;
}

.accounting-close-calendar-day {
  position: relative;
  min-height: 2rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--accounting-close-text);
  cursor: pointer;
  font-size: var(--cicosy-text-xs);
  font-weight: 800;
  line-height: 1;
}

.accounting-close-calendar-day:hover,
.accounting-close-calendar-day:focus-visible {
  border-color: var(--accounting-close-border);
  background: var(--accounting-close-primary-soft);
  color: var(--accounting-close-primary);
}

.accounting-close-calendar-day--outside {
  color: #9aa8bd;
}

.accounting-close-calendar-day--preparation {
  border-color: #f8d68b;
  background: var(--accounting-close-warning-soft);
  color: #9f6600;
}

.accounting-close-calendar-day--window {
  border-color: var(--accounting-close-border);
  background: var(--accounting-close-primary-soft);
  color: var(--accounting-close-primary);
}

.accounting-close-calendar-day--target,
.accounting-close-calendar-day.is-active {
  border-color: var(--accounting-close-primary);
  background: #fff;
  color: var(--accounting-close-primary);
  box-shadow: inset 0 0 0 1px var(--accounting-close-primary);
}

.accounting-close-calendar-legend {
  margin-top: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.8rem;
  color: var(--accounting-close-muted);
  font-size: var(--cicosy-text-2xs);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.accounting-close-key {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 3px;
}

.accounting-close-key--preparation { background: var(--accounting-close-warning-soft); border: 1px solid #f8d68b; }
.accounting-close-key--window { background: var(--accounting-close-primary-soft); border: 1px solid var(--accounting-close-border); }
.accounting-close-key--target { background: #fff; border: 2px solid var(--accounting-close-primary); border-radius: 999px; }

.accounting-close-section--quick-actions {
  padding: 1rem;
}

.accounting-close-section--quick-actions .accounting-close-actions-body {
  padding: 0;
}

.accounting-close-actions-title {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 1rem;
  color: var(--accounting-close-text);
  font-family: var(--cicosy-font-heading, var(--cicosy-font-display));
  font-size: var(--cicosy-text-lg);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-close-actions-title i {
  color: var(--accounting-close-primary);
  font-size: var(--cicosy-text-base);
}

.accounting-close-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 0.85rem;
}

.accounting-close-action-link {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  min-height: 2rem;
  padding: 0.25rem 0;
  border: 0;
  background: transparent;
  color: var(--accounting-close-primary);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
  text-align: left;
}

.accounting-close-action-link:hover,
.accounting-close-action-link:focus-visible {
  color: var(--accounting-close-primary);
  text-decoration: underline;
}

.accounting-close-action-link:focus-visible {
  border-radius: 3px;
  outline: 2px solid var(--accounting-close-primary);
  outline-offset: 3px;
}

.accounting-close-action-link--danger {
  color: var(--accounting-close-danger);
}

.accounting-close-action-link i {
  flex: 0 0 auto;
  font-size: var(--cicosy-text-base);
}

.accounting-close-action-link span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.accounting-close-toast {
  position: fixed;
  z-index: 1090;
  top: 1rem;
  left: 50%;
  display: flex;
  width: calc(100% - 2rem);
  max-width: 24rem;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--accounting-close-border);
  border-radius: 4px;
  background: #fff;
  color: var(--accounting-close-text);
  box-shadow: 0 0.85rem 2rem rgba(1, 41, 112, 0.12);
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -0.5rem);
  transition: opacity 180ms ease, transform 180ms ease;
}

.accounting-close-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.accounting-close-toast i {
  color: var(--accounting-close-primary);
}

@container (max-width: 29rem) {
  .accounting-close-task-status {
    grid-template-columns: minmax(0, 1fr);
  }

  .accounting-close-chart-wrap {
    height: 7.75rem;
  }

  .accounting-close-summary-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .accounting-close-target-button.cicosy-btn {
    width: 100%;
  }

  .accounting-close-deadline-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .accounting-close-deadline-primary {
    padding-right: 0;
    padding-bottom: 0.85rem;
    border-right: 0;
    border-bottom: 1px solid var(--accounting-close-border-soft);
  }
}

@container (max-width: 22rem) {
  .accounting-close-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accounting-close-deadline-alert {
    display: grid;
  }

  .accounting-close-deadline-state {
    justify-self: start;
  }

  .accounting-close-deadline-metrics {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .accounting-close-deadline-metric + .accounting-close-deadline-metric {
    margin-top: 0.55rem;
    padding-top: 0.55rem;
    padding-left: 0;
    border-top: 1px solid var(--accounting-close-border-soft);
    border-left: 0;
  }
}

@media (max-width: 575.98px) {
  .accounting-close-summary-body {
    padding: 0.75rem;
  }

  .accounting-close-task-status,
  .accounting-close-days-body,
  .accounting-close-calendar-body,
  .accounting-close-actions-body {
    padding: 0.75rem;
  }
}

/* Close checklist data-list variant
   Uses the invoice data-list table family; these rules cover close-manager content only. */
.cicosy-close-checklist-recipe .cicosy-close-checklist-toolbar {
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: start !important;
  gap: 0.55rem 1rem !important;
}

.cicosy-close-checklist-title {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 0;
  color: var(--cicosy-text-strong, #012970);
  font-family: var(--cicosy-font-heading, var(--cicosy-font-display));
  font-size: var(--cicosy-text-md);
  font-weight: 800;
  line-height: var(--cicosy-line-snug);
  white-space: nowrap;
}

.cicosy-close-checklist-recipe .cicosy-close-checklist-toolbar-actions {
  grid-template-columns: 5.5rem 5.125rem !important;
  width: 11.125rem !important;
}

.cicosy-close-checklist-recipe .cicosy-close-checklist-toolbar-actions .cicosy-invoice-export {
  grid-column: auto !important;
  grid-row: auto !important;
}

.cicosy-close-checklist-recipe .cicosy-close-c-task { min-width: 13rem; }
.cicosy-close-checklist-recipe .cicosy-close-c-owner { min-width: 11rem; }
.cicosy-close-checklist-recipe .cicosy-close-c-progress { min-width: 9rem; }
.cicosy-close-checklist-recipe .cicosy-close-c-priority { min-width: 6.5rem; }

.cicosy-close-task-cell,
.cicosy-close-owner,
.cicosy-close-progress {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  white-space: nowrap;
}

.cicosy-close-task-cell strong {
  font-size: inherit;
  font-weight: 800;
  color: var(--cicosy-text-strong, #012970);
}

.cicosy-close-task-icon,
.cicosy-close-owner-avatar {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  font-size: var(--cicosy-text-xs);
  font-weight: 800;
  line-height: 1;
}

.cicosy-close-task-icon {
  color: var(--cicosy-dashboard-primary, #1b5e20);
  background: var(--cicosy-dashboard-primary-soft, #eef8ef);
  border: 1px solid var(--cicosy-dashboard-primary-border, #cfe8d2);
}

.cicosy-close-owner-avatar {
  color: #fff;
  background: var(--cicosy-dashboard-primary, #1b5e20);
}

.cicosy-close-progress {
  --cicosy-close-progress-color: var(--cicosy-dashboard-primary, #1b5e20);
  gap: 0.55rem;
}

.cicosy-close-progress-track {
  display: block;
  width: 4.4rem;
  height: 0.45rem;
  overflow: hidden;
  border-radius: 999px;
  background: #dbe4f0;
}

.cicosy-close-progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--cicosy-close-progress-color);
}

.cicosy-close-progress strong {
  color: var(--cicosy-text-strong, #012970);
  font-size: var(--cicosy-text-xs);
  font-weight: 800;
}

.cicosy-close-progress--success { --cicosy-close-progress-color: var(--cicosy-dashboard-primary, #1b5e20); }
.cicosy-close-progress--warning { --cicosy-close-progress-color: #f59e0b; }
.cicosy-close-progress--danger { --cicosy-close-progress-color: #ef4444; }
.cicosy-close-progress--secondary { --cicosy-close-progress-color: #cbd5e1; }

@container (max-width: 47.5rem) {
  .cicosy-close-checklist-recipe .cicosy-close-checklist-toolbar {
    grid-template-columns: 1fr !important;
  }

  .cicosy-close-checklist-title {
    grid-column: auto;
    padding-top: 0;
  }

  .cicosy-close-checklist-recipe .cicosy-close-checklist-toolbar-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}

@media (max-width: 47.99rem) {
  .cicosy-close-checklist-recipe .cicosy-close-checklist-toolbar {
    grid-template-columns: 1fr !important;
  }

  .cicosy-close-checklist-title {
    grid-column: auto;
    padding-top: 0;
  }

  .cicosy-close-checklist-recipe .cicosy-close-checklist-toolbar-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}

/* Universal general-ledger/data-list toolbar layout
   Shared by Sample Tables general-ledger recipes and product pages using cicosy-ledger-* list markup. */
.cicosy-ledger-filter-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: start !important;
  gap: 0.75rem 1rem !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.cicosy-ledger-filter-fields {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)) !important;
  align-items: start !important;
  gap: 0.75rem !important;
  min-width: 0 !important;
}

.cicosy-ledger-filter-fields > .cicosy-ledger-field {
  flex: initial !important;
  width: auto !important;
  min-width: 0 !important;
}

.cicosy-ledger-field--search {
  min-width: min(100%, 16rem) !important;
}

.cicosy-ledger-toolbar-actions {
  display: grid !important;
  grid-template-columns: 8.5rem 5.25rem !important;
  align-items: start !important;
  justify-content: flex-end !important;
  gap: 0.5rem !important;
  width: 14.25rem !important;
  max-width: 100% !important;
  padding-top: 1.35rem !important;
  min-width: max-content !important;
}

.cicosy-ledger-toolbar-actions .cicosy-ledger-primary-actions,
.cicosy-ledger-toolbar-actions .cicosy-ledger-secondary-actions {
  width: 100% !important;
  padding-top: 0 !important;
  justify-content: flex-end !important;
}

.cicosy-ledger-toolbar-actions .cicosy-ledger-btn {
  width: 100% !important;
}

.cicosy-ledger-more-filters {
  grid-template-columns: repeat(auto-fit, minmax(9rem, 12rem)) !important;
  align-items: end !important;
}

.cicosy-ledger-more-filters.is-open {
  display: grid !important;
}

.cicosy-ledger-checkbox--more {
  align-self: end !important;
  min-height: 2rem !important;
}

@container (max-width: 47.5rem) {
  .cicosy-ledger-filter-row {
    grid-template-columns: 1fr !important;
  }

  .cicosy-ledger-filter-fields,
  .cicosy-ledger-more-filters {
    grid-template-columns: 1fr !important;
  }

  .cicosy-ledger-field--search {
    min-width: 0 !important;
  }

  .cicosy-ledger-toolbar-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
    padding-top: 0 !important;
  }

  .cicosy-ledger-toolbar-actions .cicosy-ledger-primary-actions,
  .cicosy-ledger-toolbar-actions .cicosy-ledger-secondary-actions,
  .cicosy-ledger-toolbar-actions .cicosy-ledger-btn {
    width: 100% !important;
  }
}

@media (max-width: 47.99rem) {
  .cicosy-ledger-filter-row {
    grid-template-columns: 1fr !important;
  }

  .cicosy-ledger-filter-fields,
  .cicosy-ledger-more-filters {
    grid-template-columns: 1fr !important;
  }

  .cicosy-ledger-field--search {
    min-width: 0 !important;
  }

  .cicosy-ledger-toolbar-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
    padding-top: 0 !important;
  }

  .cicosy-ledger-toolbar-actions .cicosy-ledger-primary-actions,
  .cicosy-ledger-toolbar-actions .cicosy-ledger-secondary-actions,
  .cicosy-ledger-toolbar-actions .cicosy-ledger-btn {
    width: 100% !important;
  }
}

/* Universal tab overflow
   Keeps full tab bars on wide screens and moves overflow tabs into More on tighter screens. */
.cicosy-invoice-tabs-shell,
.cicosy-ledger-tabs-shell {
  overflow: visible !important;
}

.cicosy-invoice-tabs,
.cicosy-ledger-tabs {
  position: relative !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.cicosy-tab-is-overflowed {
  display: none !important;
}

.cicosy-tab-overflow {
  position: relative;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: stretch;
  min-width: 0;
}

.cicosy-tab-overflow[hidden] {
  display: none !important;
}

.cicosy-tab-overflow-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

.cicosy-tab-overflow.is-active .cicosy-tab-overflow-toggle {
  color: var(--cicosy-primary, #1b5e20) !important;
  font-weight: 700 !important;
}

.cicosy-tab-overflow.is-active .cicosy-tab-overflow-toggle::after {
  background: var(--cicosy-primary, #1b5e20) !important;
}

.cicosy-tab-overflow-menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  z-index: 30;
  display: none;
  min-width: 13rem;
  padding: 0.25rem;
  border: 1px solid var(--cicosy-border, #c8e6c9);
  border-radius: 0.35rem;
  background: #fff;
  box-shadow: 0 0.75rem 1.75rem rgba(27, 94, 32, 0.16);
}

.cicosy-tab-overflow.is-open .cicosy-tab-overflow-menu {
  display: grid;
}

.cicosy-tab-overflow-item {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 2rem;
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  color: var(--cicosy-text-strong, #012970);
  font-family: var(--cicosy-font-body);
  font-size: var(--cicosy-text-sm);
  font-weight: 600;
  line-height: var(--cicosy-line-snug);
  text-align: left;
  white-space: nowrap;
  padding: 0.35rem 0.65rem;
}

.cicosy-tab-overflow-item:hover,
.cicosy-tab-overflow-item:focus-visible {
  background: var(--cicosy-primary-soft, #eef8f0);
  color: var(--cicosy-primary, #1b5e20);
  outline: none;
}

.cicosy-tab-overflow-item.is-active {
  background: var(--cicosy-primary-soft, #eef8f0);
  color: var(--cicosy-primary, #1b5e20);
  font-weight: 700;
}

/*--------------------------------------------------------------
# Universal Responsive Data-List Toolbar
--------------------------------------------------------------*/
/*
 * Invoice-derived data lists are also used inside split dashboard cards. Size
 * the toolbar from its actual card width instead of the browser viewport.
 */
.cicosy-invoice-workspace {
  container-name: cicosy-invoice-workspace;
}

.cicosy-invoice-toolbar {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 0.75rem 1rem !important;
  overflow: visible;
}

.cicosy-invoice-toolbar-actions {
  display: flex !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  gap: 0.5rem !important;
  padding-top: calc(1lh + 0.375rem) !important;
  font-size: var(--cicosy-text-xs);
  line-height: var(--cicosy-line-snug);
}

.cicosy-invoice-toolbar-actions > .cicosy-invoice-btn,
.cicosy-invoice-toolbar-actions > .cicosy-invoice-dropdown-wrap {
  width: auto !important;
  min-width: 0;
  flex: 0 0 auto;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-btn {
  width: auto !important;
  min-width: 0;
  height: 27px !important;
  min-height: 27px !important;
  gap: var(--cicosy-button-gap);
  padding: 0.25rem var(--cicosy-button-padding-x);
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-base) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-btn--text {
  padding-inline: 0.25rem;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-btn--primary {
  padding: 0;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-export {
  width: auto !important;
  justify-self: auto;
  grid-column: auto !important;
  grid-row: auto !important;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap {
  display: flex;
  position: relative;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap > .cicosy-invoice-btn {
  width: auto !important;
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-split-label {
  min-width: 0;
  padding-inline: var(--cicosy-button-padding-x);
}

.cicosy-invoice-toolbar-actions .cicosy-invoice-split-arrow {
  width: 1.875rem;
  min-width: 1.875rem;
  flex: 0 0 1.875rem;
}

.cicosy-invoice-dropdown {
  top: calc(100% + 0.35rem);
  right: 0;
  width: max-content;
  min-width: max(100%, 11rem);
  max-width: min(18rem, calc(100cqw - 1rem));
  padding: 0.25rem;
}

.cicosy-invoice-dropdown button,
.cicosy-invoice-context-menu button {
  display: flex;
  width: 100%;
  min-height: 2rem;
  height: auto;
  align-items: center;
  padding: 0.4rem 0.65rem;
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-base) !important;
  font-weight: 500;
  line-height: var(--cicosy-line-snug) !important;
  overflow-wrap: anywhere;
  white-space: normal;
}

@container cicosy-invoice-workspace (max-width: 48rem) {
  .cicosy-invoice-toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.75rem !important;
  }

  .cicosy-invoice-filter-fields,
  .cicosy-invoice-more-filters {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)) !important;
    gap: 0.625rem !important;
  }

  .cicosy-invoice-field--search,
  .cicosy-invoice-field:has([data-cicosy-invoice-search]) {
    min-width: 0 !important;
  }

  .cicosy-invoice-toolbar-actions {
    width: 100% !important;
    justify-self: stretch !important;
    flex-wrap: wrap;
    padding-top: 0 !important;
  }

  .cicosy-invoice-more-filters {
    grid-column: 1 !important;
  }
}

@container cicosy-invoice-workspace (max-width: 40rem) {
  .cicosy-invoice-filter-fields,
  .cicosy-invoice-more-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cicosy-invoice-toolbar-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
    gap: 0.5rem !important;
  }

  .cicosy-invoice-toolbar-actions > .cicosy-invoice-btn,
  .cicosy-invoice-toolbar-actions > .cicosy-invoice-dropdown-wrap,
  .cicosy-invoice-toolbar-actions .cicosy-invoice-dropdown-wrap > .cicosy-invoice-btn {
    width: 100% !important;
  }

  .cicosy-invoice-toolbar-actions:has(.cicosy-invoice-dropdown-wrap) [data-cicosy-invoice-more],
  .cicosy-invoice-toolbar-actions:has(.cicosy-invoice-dropdown-wrap) [data-cicosy-action="invoice-more"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .cicosy-invoice-toolbar-actions:has(.cicosy-invoice-dropdown-wrap) [data-cicosy-invoice-clear],
  .cicosy-invoice-toolbar-actions:has(.cicosy-invoice-dropdown-wrap) [data-cicosy-action="invoice-clear"] {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .cicosy-invoice-toolbar-actions:has(.cicosy-invoice-dropdown-wrap) .cicosy-invoice-dropdown-wrap {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .cicosy-invoice-toolbar-actions:has(.cicosy-invoice-dropdown-wrap) .cicosy-invoice-export {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
}

@container cicosy-invoice-workspace (max-width: 30rem) {
  .cicosy-invoice-filter-fields,
  .cicosy-invoice-more-filters,
  .cicosy-invoice-toolbar-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .cicosy-invoice-toolbar-actions > *,
  .cicosy-invoice-toolbar-actions:has(.cicosy-invoice-dropdown-wrap) > * {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .cicosy-invoice-dropdown {
    right: auto;
    left: 0;
    width: 100%;
    min-width: 100%;
  }
}

.cicosy-ledger-recipe {
  container-name: cicosy-ledger-recipe;
}

.cicosy-ledger-filter-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 0.75rem 1rem !important;
}

.cicosy-ledger-toolbar-actions {
  display: flex !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: flex-end !important;
  grid-template-columns: none !important;
  gap: 0.5rem !important;
  padding-top: calc(1lh + 0.35rem) !important;
  font-size: var(--cicosy-text-xs);
  line-height: var(--cicosy-line-snug);
}

.cicosy-ledger-toolbar-actions .cicosy-ledger-primary-actions,
.cicosy-ledger-toolbar-actions .cicosy-ledger-secondary-actions {
  width: auto !important;
  min-width: 0;
  flex: 0 0 auto;
}

.cicosy-ledger-toolbar-actions .cicosy-ledger-btn {
  width: auto !important;
  min-width: 0;
  min-height: var(--cicosy-button-height) !important;
  height: var(--cicosy-button-height) !important;
  padding: 0.25rem var(--cicosy-button-padding-x);
  font-family: var(--cicosy-font-body) !important;
  font-size: var(--cicosy-text-base) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap;
}

@container cicosy-ledger-recipe (max-width: 48rem) {
  .cicosy-ledger-filter-row {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.75rem !important;
  }

  .cicosy-ledger-filter-fields,
  .cicosy-ledger-more-filters {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)) !important;
    gap: 0.625rem !important;
  }

  .cicosy-ledger-field--search {
    min-width: 0 !important;
  }

  .cicosy-ledger-toolbar-actions {
    width: 100% !important;
    justify-self: stretch !important;
    padding-top: 0 !important;
  }
}

@container cicosy-ledger-recipe (max-width: 40rem) {
  .cicosy-ledger-filter-fields,
  .cicosy-ledger-more-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cicosy-ledger-toolbar-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cicosy-ledger-toolbar-actions .cicosy-ledger-primary-actions,
  .cicosy-ledger-toolbar-actions .cicosy-ledger-secondary-actions,
  .cicosy-ledger-toolbar-actions .cicosy-ledger-btn {
    width: 100% !important;
  }

}

@container cicosy-ledger-recipe (max-width: 30rem) {
  .cicosy-ledger-filter-fields,
  .cicosy-ledger-more-filters,
  .cicosy-ledger-toolbar-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Touch sizing belongs to the actual viewport, never to a narrow desktop card. */
@media (max-width: 575.98px) {
  .cicosy-invoice-field-label {
    margin-bottom: 0.5rem;
  }

  .cicosy-invoice-control {
    height: 2.75rem;
    border-radius: 0.375rem;
    font-size: var(--cicosy-text-base);
  }

  .cicosy-invoice-control-select {
    padding-right: 2.5rem;
    padding-left: 0.8125rem;
  }

  .cicosy-invoice-control-date {
    padding-right: 2.5rem;
    padding-left: 2.4375rem;
  }

  .cicosy-invoice-icon-left {
    left: 0.875rem;
  }

  .cicosy-invoice-icon-right {
    right: 0.875rem;
  }

  .cicosy-invoice-toolbar-actions .cicosy-invoice-btn,
  .cicosy-ledger-toolbar-actions .cicosy-ledger-btn {
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    border-radius: 0.375rem;
    font-size: var(--cicosy-text-base) !important;
  }

  .cicosy-invoice-toolbar-actions .cicosy-invoice-split-arrow {
    width: 1.9375rem;
    min-width: 1.9375rem;
    flex-basis: 1.9375rem;
  }

  .cicosy-ledger-control {
    height: 2.75rem;
    border-radius: 0.375rem;
    font-size: var(--cicosy-text-base);
  }
}

/* Accounting audit trail workspace */
.accounting-audit-side-stack {
  min-width: 0;
  display: grid;
  gap: 0.75rem;
  align-content: start;
}

.accounting-audit-side-card {
  min-width: 0;
}

.accounting-audit-side-card > .cicosy-card-shell-body {
  min-width: 0;
  padding: 1rem;
}

.accounting-audit-side-card-body {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.accounting-audit-side-card-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.accounting-audit-module-list {
  min-width: 0;
  display: grid;
  gap: 0.65rem;
}

.accounting-audit-module-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.4rem 0.65rem;
  color: var(--cicosy-text-body);
  font-size: var(--cicosy-text-sm);
  line-height: var(--cicosy-line-snug);
}

.accounting-audit-module-row > span:first-child {
  min-width: 0;
  overflow: hidden;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accounting-audit-module-row > strong {
  color: var(--cicosy-text-strong);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.accounting-audit-module-track {
  grid-column: 1 / -1;
  height: 0.35rem;
  overflow: hidden;
  border-radius: 999px;
  background: #eef3f7;
}

.accounting-audit-module-track > span {
  display: block;
  width: var(--audit-module-width, 0%);
  height: 100%;
  border-radius: inherit;
  background: var(--audit-module-color, var(--cicosy-dashboard-primary, #1b5e20));
}

.accounting-audit-critical-list {
  min-width: 0;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.accounting-audit-critical-list li {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.2rem minmax(0, 1fr);
  gap: 0.55rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--cicosy-border-soft, #e7eef0);
  color: var(--cicosy-text-body);
}

.accounting-audit-critical-list li:last-child {
  border-bottom: 0;
}

.accounting-audit-critical-list i {
  color: #ef4444 !important;
  font-size: var(--cicosy-text-base);
  line-height: 1.2;
}

.accounting-audit-critical-list span,
.accounting-audit-critical-list small {
  min-width: 0;
  display: grid;
  gap: 0.15rem;
}

.accounting-audit-critical-list strong {
  color: #dc2626;
  font-size: var(--cicosy-text-sm);
  font-weight: 700;
  line-height: var(--cicosy-line-snug);
}

.accounting-audit-critical-list small {
  grid-template-columns: minmax(0, 1fr) auto;
  color: var(--cicosy-text-muted);
  font-size: var(--cicosy-text-2xs);
  line-height: var(--cicosy-line-snug);
}

.accounting-audit-table-card > .cicosy-card-shell-body {
  min-width: 0;
}

.accounting-audit-trail-recipe {
  width: 100%;
  min-width: 0;
}

.accounting-audit-toolbar {
  align-items: end;
}

.accounting-audit-toolbar .cicosy-invoice-filter-fields {
  grid-template-columns:
    minmax(7.5rem, 0.95fr)
    minmax(7rem, 0.8fr)
    minmax(7rem, 0.9fr)
    minmax(7.5rem, 0.95fr)
    minmax(11rem, 1.45fr);
}

.accounting-audit-search-field {
  min-width: 0;
}

.accounting-audit-table-shell {
  margin-top: 0.75rem;
}

.accounting-audit-date-cell {
  display: grid;
  gap: 0.08rem;
  min-width: 6.5rem;
  color: var(--cicosy-text-strong);
  line-height: var(--cicosy-line-tight);
}

.accounting-audit-date-cell strong {
  font-size: var(--cicosy-text-xs);
  font-weight: 700;
}

.accounting-audit-date-cell small {
  color: var(--cicosy-text-muted);
  font-size: var(--cicosy-text-2xs);
  font-weight: 600;
}

.accounting-audit-row--danger {
  background: #fff3f3;
}

.accounting-audit-row--danger:hover {
  background: #ffeded;
}

.accounting-audit-c-date { min-width: 7rem; }
.accounting-audit-c-user { min-width: 9rem; }
.accounting-audit-c-module { min-width: 8rem; }
.accounting-audit-c-type { min-width: 6.75rem; }
.accounting-audit-c-action { min-width: 6rem; }
.accounting-audit-c-reference { min-width: 8.5rem; }
.accounting-audit-c-status { min-width: 6.75rem; }
.accounting-audit-c-ip { min-width: 7rem; }
.accounting-audit-c-details { min-width: 4.75rem; }

@container (max-width: 920px) {
  .accounting-audit-toolbar .cicosy-invoice-filter-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accounting-audit-search-field {
    grid-column: 1 / -1;
  }
}

@container (max-width: 560px) {
  .accounting-audit-toolbar .cicosy-invoice-filter-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .accounting-audit-toolbar .cicosy-invoice-toolbar-actions {
    width: 100%;
    justify-content: stretch;
  }

  .accounting-audit-toolbar .cicosy-invoice-toolbar-actions > * {
    flex: 1 1 auto;
  }
}

/*--------------------------------------------------------------
# Accounting Adaptive Laptop Density
--------------------------------------------------------------*/
/*
 * Windows display scaling reduces the usable CSS viewport. Keep the accounting
 * workspace fluid at those laptop widths without scaling the document or
 * changing the wide-monitor and mobile layouts.
 */
@media (min-width: 992px) and (max-width: 1536px) {
  body[data-accounting-shell] {
    --cicosy-button-padding-x: 0.7rem;
    --cicosy-button-padding-x-lg: 0.9rem;
    --cicosy-sidebar-width: 200px;
    --cicosy-sidebar-padding: 10px;
  }

  body[data-accounting-shell] #main.cicosy-body-wrapper {
    padding: 8px 10px 16px;
  }

  body[data-accounting-shell] .cicosy-body-wrapper__inner {
    padding: 16px;
  }

  body[data-accounting-shell] .cicosy-page-stack,
  body[data-accounting-shell] .cicosy-content-section {
    gap: 1rem;
  }

  body[data-accounting-shell] .cicosy-card-grid {
    gap: 0.75rem;
  }

  body[data-accounting-shell] .cicosy-card-shell-header {
    min-height: 2.75rem;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
  }

  body[data-accounting-shell] .header .search-bar {
    min-width: 20rem;
    padding-inline: 0.875rem;
  }

  body[data-accounting-shell] .sidebar-nav .nav-heading {
    margin: 0.4rem 0 0.2rem 0.625rem;
    font-size: var(--cicosy-text-2xs);
  }

  body[data-accounting-shell] .sidebar-nav .nav-link {
    padding: 0.4rem 0.625rem;
    font-size: var(--cicosy-text-md);
  }

  body[data-accounting-shell] .sidebar-nav .nav-link i {
    width: 0.9375rem;
    flex-basis: 0.9375rem;
    margin-right: 0.4375rem;
    font-size: 0.9375rem;
  }

  body[data-accounting-shell] .sidebar-nav .nav-content a {
    padding: 0.375rem 0 0.375rem 1.875rem;
    font-size: var(--cicosy-text-base);
  }

  body[data-accounting-shell] .cicosy-context-band-grid--wide {
    min-height: 3rem;
    padding-inline: 0.375rem;
  }

  body[data-accounting-shell] .cicosy-context-band-item {
    gap: 0.125rem;
    padding: 0.375rem 0.625rem;
  }

  body[data-accounting-shell] .cicosy-ap-stat-card-grid > .cicosy-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    gap: 0.625rem;
  }

  body[data-accounting-shell] .cicosy-widget-finance-stat-card > .cicosy-card-shell-body {
    min-height: 5rem;
    padding: 0.75rem;
  }

  body[data-accounting-shell] .cicosy-widget-finance-stat {
    gap: 0.625rem;
  }

  body[data-accounting-shell] .cicosy-widget-finance-stat .cicosy-widget-icon {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1rem;
  }

  body[data-accounting-shell] .cicosy-table th,
  body[data-accounting-shell] .cicosy-table td,
  body[data-accounting-shell] .cicosy-invoice-table th,
  body[data-accounting-shell] .cicosy-invoice-table td,
  body[data-accounting-shell] .cicosy-ledger-table th,
  body[data-accounting-shell] .cicosy-ledger-table td,
  body[data-accounting-shell] .cicosy-data-table-sort,
  body[data-accounting-shell] .cicosy-invoice-table .cicosy-data-table-sort {
    padding-block: 0.45rem;
    padding-inline: 0.625rem;
  }
}
