/*
* demo.css
* File include item demo only specific css only
******************************************************************************/

.menu .app-brand.demo {
  height: 64px;
}

.app-brand-logo.demo svg {
  width: 38px;
  height: 20px;
}

.app-brand-text.demo {
  font-size: 1.25rem;
  letter-spacing: 0.15px;
}

.authentication-wrapper .app-brand-text.demo {
  text-transform: capitalize;
}

/* ! For .layout-navbar-fixed added fix padding top to .layout-page */
/* Default navbar */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
  padding-top: 64px !important;
}

/* Navbar page z-index issue solution */
.content-wrapper .navbar {
  z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks > * {
  display: block !important;
}

.demo-inline-spacing > * {
  margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing > * {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-lg > * {
  margin-top: 1.875rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-lg.demo-only-element > :first-child {
  margin-top: 0 !important;
}

.demo-vertical-spacing-xl > * {
  margin-top: 5rem !important;
  margin-bottom: 0 !important;
}
.demo-vertical-spacing-xl.demo-only-element > :first-child {
  margin-top: 0 !important;
}

/* Dropdown buttons going out of small screens */
@media (max-width: 576px) {
  #dropdown-variation-demo .btn-group .text-truncate {
    width: 300px;
    position: relative;
  }
  #dropdown-variation-demo .btn-group .text-truncate::after {
    position: absolute;
    top: 45%;
    right: 0.65rem;
  }
}
/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1.25rem;
}
.layout-demo-placeholder img {
  width: 900px;
}
.layout-demo-info {
  text-align: center;
  margin-top: 1.25rem;
}
.app-brand img {
	width:65px;
}
/* Custom Profile Popup Alignments */
.avatar-circle-lg {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  font-size: 1.5rem;
  letter-spacing: 0.5px;
}

/* Light background tint colors for standard template engine */
.bg-label-primary {
  background-color: #eae8fd !important;
  color: #7367f0 !important;
}

.bg-label-success {
  background-color: #e8fadf !important;
  color: #71dd37 !important;
}

/* Align values perfectly to the left grid axis */
.profile-data-table th {
  font-weight: 500 !important;
}

.profile-data-table td {
  font-size: 0.95rem;
}

/* Vertical separating rule for tablet displays and up */
@media (min-width: 768px) {
  .border-end-md {
    border-right: 1px solid #ebedf0 !important;
  }
  .profile-avatar-section {
    min-height: 250px;
  }
}

/* Custom properties mapping back to VSP Flow UI design styles */
.custom-rounded {
    border-radius: 12px !important;
}

.fs-7 {
    font-size: 0.825rem !important;
}

.fs-8 {
    font-size: 0.75rem !important;
}

/* Subtle badge tones matching system colors */
.bg-success-subtle { background-color: rgba(25, 135, 84, 0.1) !important; }
.bg-warning-subtle { background-color: rgba(255, 193, 7, 0.1) !important; }
.bg-secondary-subtle { background-color: rgba(108, 117, 125, 0.1) !important; }
.bg-info-subtle { background-color: rgba(13, 202, 240, 0.1) !important; }
.bg-purple-subtle { background-color: rgba(111, 66, 193, 0.1) !important; }
.text-purple { color: #6f42c1 !important; }

/* Table Adjustments */
.custom-table th {
    font-weight: 600;
    letter-spacing: 0.03em;
}

.custom-table tbody tr {
    transition: all 0.2s ease;
}

.custom-table tbody tr:hover {
    background-color: rgba(248, 249, 250, 0.85);
}

.avatar-sm-icon {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 0.875rem;
}

/* Action button configurations */
.btn-sm-action {
    border-radius: 6px;
    font-weight: 500;
    background-color: #5c62ec; /* Custom theme primary */
    border-color: #5c62ec;
}

.btn-icon {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Pagination Styling */
.custom-pagination .page-link {
    border: none;
    color: #6c757d;
    margin: 0 2px;
    border-radius: 6px !important;
}

.custom-pagination .page-item.active .page-link {
    background-color: #5c62ec;
    color: #fff;
}

/* Real-time Verification Stream Timeline CSS */
.timeline {
    position: relative;
    padding-left: 1rem;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 4px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background-color: #e9ecef;
}

.timeline-item {
    position: relative;
}

.timeline-marker {
    position: absolute;
    left: -16px;
    top: 5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px currentColor;
    z-index: 2;
}
/* Container Overrides */
.custom-rounded-card {
    border-radius: 16px !important;
    background-color: #ffffff;
}

/* Base Utility Classes */
.fs-7 { font-size: 0.85rem !important; }
.text-purple { color: #6f42c1 !important; }
.bg-purple-light { background-color: rgba(111, 66, 193, 0.1); }
.bg-info-light { background-color: rgba(13, 202, 240, 0.1); }
.bg-primary-light { background-color: rgba(92, 98, 236, 0.1); }

/* Ledger Table Specific Styling */
.ledger-clean-table {
    border-collapse: separate;
    border-spacing: 0;
}

/* Light Grey Style applied specifically only to the Header */
.ledger-clean-table thead th {
    background-color: #f8f9fa !important;
    color: #6c757d !important;
    font-size: 0.725rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #edf2f7 !important;
    border-top: none;
}

/* Clean White Rows Formatting */
.ledger-clean-table tbody tr {
    background-color: #ffffff !important;
    transition: background-color 0.15s ease;
}

.ledger-clean-table tbody td {
    padding: 14px 16px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

/* Row Hover Action */
.ledger-clean-table tbody tr:hover {
    background-color: #fdfdfe !important;
}

/* Decorative Components Inside Rows */
.channel-icon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 0.9rem;
}

/* Pill Badges Styling Updates */
.status-badge-matched {
    background-color: rgba(40, 199, 111, 0.12) !important;
    color: #28c76f !important;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 6px;
}

.status-badge-mismatched {
    background-color: rgba(255, 159, 67, 0.12) !important;
    color: #ff9f43 !important;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 6px;
}

.status-badge-unreconciled {
    background-color: rgba(108, 117, 125, 0.12) !important;
    color: #6c757d !important;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 6px;
}

/* Button Refinement overrides */
.btn-theme-verify {
    background-color: #5c62ec !important;
    border-color: #5c62ec !important;
    font-size: 0.8rem;
    font-weight: 500;
    border-radius: 6px;
    padding: 5px 14px;
}

.btn-icon-action {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    transition: background 0.2s ease;
}

.btn-icon-action:hover {
    background-color: #f1f5f9;
}
/* Table Layout Balancing fixes */
.custom-payments-table {
    border-collapse: separate;
    border-spacing: 0;
}

/* Material Template Grey Header style constraint */
.custom-payments-table thead th {
    background-color: #f8f9fa !important;
    color: #6c757d !important;
    font-size: 0.725rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #edf2f7 !important;
    border-top: none;
}

/* Clean Row Whitespace handling */
.custom-payments-table tbody tr {
    background-color: #ffffff !important;
}

.custom-payments-table tbody td {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

/* Clean utility extensions */
.fs-7 { font-size: 0.85rem !important; }
.fs-8 { font-size: 0.75rem !important; }

/* Custom Activity Feed Timeline styles avoiding collision */
.vsp-timeline {
    position: relative;
    padding-left: 2rem;
}
.vsp-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background-color: #e9ecef;
}
.vsp-timeline-item {
    position: relative;
    padding-bottom: 1.5rem;
}
.vsp-timeline-item:last-child {
    padding-bottom: 0;
}
.vsp-timeline-badge {
    position: absolute;
    left: -32px;
    top: 2px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
    z-index: 2;
    background-color: #fff;
    box-shadow: 0 0 0 3px #fff;
}
.vsp-timeline-content {
    position: relative;
    top: 4px;
}

/* Custom indicator tone layers */
.bg-light-success { background-color: rgba(40, 199, 111, 0.12) !important; }
.bg-light-primary { background-color: rgba(92, 98, 236, 0.12) !important; }
.bg-light-danger  { background-color: rgba(234, 84, 85, 0.12) !important; }
.bg-light-warning { background-color: rgba(255, 159, 67, 0.12) !important; }