* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif !important;
}

body {
    background-color: #f5f7fa;
    min-height: 100vh !important;
    height: 100% !important;
    display: flex;
    flex-direction: column;
}

span,
th {
    font-size: 1rem !important;
}

main {
    flex-grow: 1;
}

footer {
    margin-top: auto;
}

/* Navigation styles */
.top-nav {
    background: white;
    padding: 1rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.nav-left,
.nav-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.top-nav a {
    color: #4a5568;
    text-decoration: none;
    font-weight: 500;
    padding: 0.5rem 0;
}

.top-nav a.active {
    color: #2b6cb0;
    border-bottom: 2px solid #2b6cb0;
}

.top-nav a:hover {
    color: #2b6cb0;
}

.user-name {
    color: #4a5568;
}

.nav-link.active {
    font-weight: 500;
}

.container {
    max-width: 1400px;
    margin: 1rem auto;
    padding: 0 2rem;
}

.input-h {
    height: 36px !important;
}

.dropdown-item {
    font-size: 1rem !important;
}

.dropdown-item.active {
    background-color: #212529 !important;
    color: #fff !important;
}

.dropdown-item:focus:not(.active) {
    color: #000 !important;
}

.dropdown-item:hover:not(.active) {
    background-color: #f1f3f5 !important;
}

.custom-checkbox {
    border: 1px solid #212529 !important;
    background-color: transparent;
    box-shadow: none !important;
    cursor: pointer !important;
}

.custom-checkbox:checked {
    background-color: #212529 !important;
    border-color: #212529 !important;
}

.custom-checkbox:focus {
    box-shadow: 0 0 0 0.15rem rgba(33, 37, 41, 0.25) !important;
    border-color: #212529 !important;
}

.custom-checkbox:indeterminate {
    background-color: #212529 !important;
    border-color: #212529 !important;
}

.custom-checkbox:indeterminate::before {
    background-color: white;
}

.failure-flag {
    margin-left: auto;
}

#month-button::after {
    margin-right: 4px;
    /* Adjust this value as needed */
}

#year-button::after {
    margin-right: 4px;
    /* Adjust this value as needed */
}

.font-14 {
    font-size: 14px !important;
}

.rtl-select {
    direction: rtl;
    text-align: right;
    padding-right: 0.75rem;
    padding-left: 2.5rem;
    background-position: left 0.75rem center;
}

.icon-only {
    background: none;
    border: none;
    padding: 0;
    color: #0d6efd;
    cursor: pointer;
}

.icon-only:hover {
    color: #0a58ca;
}

.software-dropdown {
    width: 15% !important;
}

.software-dropdown:focus {
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
    /* Bootstrap's standard */
    border-color: #86b7fe;
    outline: none;
}

input::placeholder {
    color: #b9bdc1;
    /* Bootstrap's secondary text color */
    opacity: 1;
    /* Optional: ensures it's fully visible */
}

input.settings-value::placeholder {
    color: #9ea8b0;
}

.btn-outline-primary {
    border-color: rgb(200, 230, 255) !important;
}

.custom-container {
    padding: 0 8rem 0 8rem !important;
}

.btn-border {
    border-radius: 0.5rem !important;
}

.save-report {
    font-size: 14px !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

.save-report:hover {
    color: #2873f4 !important;
    transition: all 0.3s ease-in-out !important;
}

.last-saved {
    font-size: 14px !important;
    margin-left: 7rem !important;
}

.last-saved-icon {
    cursor: pointer !important;
}

.last-saved-icon:hover {
    color: #2873f4 !important;
    transition: all 0.3s ease-in-out !important;
}

.report-title-date {
    font-size: 14px !important;
}

.last-saved-date {
    font-size: 14px !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}

.last-saved-date:hover {
    color: #2873f4 !important;
    transition: all 0.3s ease-in-out !important;
}

.go-back {
    font-size: 15px !important;
    cursor: pointer !important;
}

.go-back:hover {
    color: #2873f4 !important;
    transition: all 0.3s ease-in-out !important;
}

@media print {
    .modal.print-only {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        position: static !important;
    }

    .modal.print-only,
    .modal.print-only * {
        visibility: visible !important;
    }

    body>*:not(.modal.print-only) {
        display: none !important;
    }

    .modal.print-only {
        position: static !important;
        display: block !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: white !important;
        z-index: 9999 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .modal.print-only .modal-dialog {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .modal.print-only .modal-dialog-centered {
        align-items: flex-start !important;
    }

    .modal.print-only .modal-content {
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    .modal-footer,
    .btn,
    .btn-close,
    .no-print,
    [onclick*="print"] {
        display: none !important;
    }

    #printBtn,
    #printBtn2 {
        display: none !important;
    }

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
        overflow: visible !important;
        background: white !important;
    }

    * {
        -ms-overflow-style: none !important;
        /* IE and Edge */
        scrollbar-width: none !important;
        /* Firefox */
    }

    *::-webkit-scrollbar {
        display: none !important;
        /* Chrome, Safari, Opera */
    }

    .table-responsive,
    .modal-body {
        overflow: visible !important;
    }

    @page {
        margin: 2cm 1cm 2cm 1cm;
    }

    #goBackIcon {
        display: none !important;
    }
}

.print-btn {
    cursor: pointer !important;
}

.print-btn:hover {
    color: #2873f4 !important;
    transition: all 0.3s ease-in-out !important;
}

.text-cursor {
    cursor: text;
}

tfoot {
    border: white !important;
    font-weight: bold !important;
}

.negative-format {
    direction: ltr !important;
}

.document-report-btn {
    color: #6C2BD9 !important;
    border-color: #BA9EF3 !important;
}

.document-report-btn:hover {
    background-color: #875CDE !important;
    border-color: #A47BE9 !important;
    color: white !important;
}

.income-report-btn {
    color: #1BCBB4 !important;
    border-color: #A0ECE3 !important;
}

.income-report-btn:hover {
    background-color: #4DD8C8 !important;
    border-color: #7EE4D5 !important;
    color: white !important;
}

.heading-fs {
    font-size: 20px !important;
}

.date-dropdown {
    border-radius: 0.375rem !important;
    font-size: 1rem !important;
}

#toastMessage {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 250px; /* Adjust to fit your toast width */
}

/* Works with Bootstrap 4 and 5 */

/* Base: take almost full viewport width/height, keep margins */
.modal-responsive {
  max-width: none;            /* ignore Bootstrap's fixed max-widths */
  width: 96vw;                /* near full width */
  margin: 2vh auto;           /* vertical breathing room, centered */
}

.modal-responsive .modal-content {
  height: calc(96vh - 0px);   /* fit inside viewport with margin accounted */
  display: flex;
  flex-direction: column;
}

.modal-responsive .modal-body {
  overflow: auto;             /* scroll body if content is tall */
}

/* Optional: true fullscreen regardless of breakpoint */
.modal-fullscreen-force {
  max-width: none !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
}

.modal-fullscreen-force .modal-content {
  height: 100vh !important;
}

/* Small refinements for larger screens */
@media (min-width: 768px) {
  .modal-responsive { width: 94vw; }
}
@media (min-width: 992px) {
  .modal-responsive { width: 92vw; }
}
@media (min-width: 1200px) {
  .modal-responsive { width: 90vw; }
}

.report-min-width {
    min-width: 100px !important;
}