﻿.document-modal .modal-dialog {
    min-width: 900px;
}

.document-modal .modal-content .document-wrapper {
    padding: 15px 20px;
    max-height: 800px;
    overflow-y: auto;
}

.document-modal .modal-content .document-content::-webkit-scrollbar {
    width: 6px;
}

.document-modal .modal-content .document-content::-webkit-scrollbar-track {
    background-color: #eaeaea;
}

.document-modal .modal-content .document-content::-webkit-scrollbar-thumb {
    background-color: #ccc;
}

    .document-modal .modal-content .document-content::-webkit-scrollbar-thumb:hover {
        background-color: #aaa;
    }

.document-modal .modal-content .document-content.chartsVisible {
    height: calc(100% - 95px);
}

.document-161,
.document-7002,
.document-7003 {
    font-family: David !important;
}

.document-1325 {
    padding: 0;
}

.modal-document-1325 .modal-dialog {
    width: 1100px;
}

.document-interest-execution {
    font-family: Arial;
}

.document-income-statement,
.document-tax-match,
.document-balance-report {
    font-size: 14px;
    padding-right: 10px;
}

/* Income Statement 3-column table layout */
.income-statement-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.income-statement-table td {
    padding: 4px 15px;
    vertical-align: top;
    font-size: 12px;
}

.income-statement-table .col-description {
    width: 45%;
    text-align: right !important;
    direction: rtl !important;
    padding-right: 20px;
    vertical-align: top;
}

.document-content .income-statement-table .col-expenses {
    width: 18%;
    text-align: right !important;
    direction: ltr !important;
    padding-left: 20px;
    padding-right: 10px;
    vertical-align: top;
}

.document-content .income-statement-table .col-income {
    width: 18%;
    text-align: right !important;
    direction: ltr !important;
    padding-left: 20px;
    padding-right: 10px;
    vertical-align: top;
}

.document-content .income-statement-table .col-totals {
    width: 19%;
    text-align: right !important;
    direction: ltr !important;
    padding-left: 20px;
    padding-right: 5px;
    vertical-align: top;
}

/* Ensure correct column order and number alignment in print window (no bootstrap-rtl loaded) */
body.document-print .document-income-statement {
    direction: rtl;
}

.income-statement-table .section-title-row {
    border-top: none !important;
}

.income-statement-table .section-title-row .section-title {
    font-size: 14px;
    font-weight: bold;
    padding-top: 15px;
    padding-bottom: 8px;
    text-align: right !important;
    border-top: none !important;
}

.income-statement-table .section-item-row.indent-1 .col-description {
    padding-right: 30px !important; /* 1 tab indent - increased for visibility */
    text-align: right !important;
}

.income-statement-table .subcalc-items {
    padding-right: 15px;
}

.income-statement-table .subcalc-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.income-statement-table .subcalc-table td {
    padding: 1px 0;
    vertical-align: top;
    font-size: 12px;
    font-weight: normal;
}

/* subcalc-desc fills remaining space; subcalc-amount matches col-expenses/income proportional width.
   Expense colspan=2 (63% of outer): amount = 18/63 ≈ 29%.
   Income colspan=3 (81% of outer): amount = 18/81 ≈ 22%.
   TaxMatch colspan=4 (100% of outer): amount = 19/100 = 19%.
   Using a single 29% keeps expense sections pixel-perfect; income/TaxMatch are slightly wider but acceptable. */
.income-statement-table .subcalc-table .subcalc-desc {
    width: 71%;
    text-align: right !important;
    direction: rtl !important;
}

.income-statement-table .subcalc-table .subcalc-amount {
    width: 29%;
    text-align: right !important;
    direction: ltr !important;
    white-space: nowrap;
    padding-left: 20px;
    padding-right: 10px;
}

.income-statement-table .section-item-row .col-description {
    text-align: right !important;
}

.income-statement-table .section-item-row .amount {
    font-weight: normal;
}

.income-statement-table .section-total-row {
    border-bottom: none !important;
}

.income-statement-table .section-total-row td {
    padding-top: 8px;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    border-top: none !important;
}

.income-statement-table .section-total-row .border-top {
    border-top: 1px solid #000 !important;
    border-bottom: none !important;
}

/* CRITICAL: Ensure absolutely no border appears below section-total-row - override border-collapse */
.income-statement-table .section-total-row,
.income-statement-table .section-total-row td,
.income-statement-table .section-total-row th {
    border-bottom: none !important;
    border-bottom-width: 0 !important;
    border-bottom-style: none !important;
}

/* Ensure next row after section-total doesn't have top border or create visual line */
.income-statement-table .section-total-row + tr {
    border-top: none !important;
    border-top-width: 0 !important;
    border-top-style: none !important;
    border-bottom: none !important;
}

.income-statement-table .section-total-row + tr td,
.income-statement-table .section-total-row + tr th {
    border-top: none !important;
    border-top-width: 0 !important;
    border-top-style: none !important;
    border-bottom: none !important;
    padding-top: 0 !important;
}

/* If next row is a section-title-row, ensure no border (same tbody or across tbody boundary) */
.income-statement-table .section-total-row + tr.section-title-row,
.income-statement-table tbody + tbody tr.section-title-row {
    border-top: none !important;
    border-bottom: none !important;
}

.income-statement-table .section-total-row + tr.section-title-row td,
.income-statement-table tbody + tbody tr.section-title-row td {
    border-top: none !important;
    border-bottom: none !important;
}

.income-statement-table .section-total-row + tr.section-title-row .section-title {
    padding-top: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
}

.income-statement-table tbody + tbody tr.section-title-row .section-title {
    border-top: none !important;
    border-bottom: none !important;
}

/* If subtotal-row comes after section-total-row, ensure spacing is correct */
.income-statement-table .section-total-row + tr.subtotal-row {
    border-top: none !important;
    border-bottom: none !important;
}

.income-statement-table .section-total-row + tr.subtotal-row td {
    border-top: none !important;
    border-bottom: none !important;
}

.income-statement-table .section-total-row + tr.subtotal-row .total-amount {
    border-top: 1px solid #000 !important; /* Keep border-top on subtotal amount */
    border-bottom: none !important;
}

.income-statement-table .subtotal-row .subtotal-label {
    font-weight: bold;
    padding-top: 10px;
    text-align: right !important;
}

.income-statement-table .subtotal-row .total-amount {
    border-top: 1px solid #000;
    font-weight: bold;
    padding-top: 10px;
}

/* FOOTNOTES */
.footnote-ref {
    color: #333;
    margin-right: 1px;
}

.footnotes-section {
    padding: 10px 0;
}

.footnotes-divider {
    border: none;
    border-top: 1px solid #000;
    width: 30%;
    margin: 10px 0;
    float: right;
}

.footnote-item {
    font-size: 12px;
    padding: 2px 0;
    padding-right: 14px;
    position: relative;
    clear: both;
    text-align: right;
}

.footnote-item > .footnote-ref {
    position: absolute;
    right: 0px;
}

.footnote-item p {
    margin: 0;
}

.footnote-item p:first-child {
    display: inline;
}

/* HEADER */
.document-content .doc-header {
    position: relative;
}

    .document-content .doc-header .doc-logo {
        margin: 0 auto;
        text-align: center;
    }

    .document-content .doc-header .doc-header-left {
        position: absolute;
        left: 0;
    }

    .document-content .doc-header .doc-header-right {
        position: absolute;
        right: 0;
    }

.document-content .doc-title {
    text-align: center;
}

    .document-content .doc-title span {
        display: inline;
    }

.document-content .document-row div {
    display: inline-block;
    vertical-align: middle;
    padding-left: 10px;
}

/* CONTENT */
.document-content .bordered-box {
    border: 2px solid black;
    padding: 7px 7px 2px 7px;
}

.document-content table {
    width: 100%;
}

    .document-content table th,
    .document-content table td {
        padding: 2px 5px;
    }

    .document-content table.extra-padding th,
    .document-content table.extra-padding td {
        padding: 10px 5px;
    }

    .document-content table thead td,
    .document-content table tbody th {
        text-align: right;
    }

    .document-content table th,
    .document-content table td {
        text-align: center;
        vertical-align: top;
    }

        .document-content table th:not(.bold),
        .document-content table td {
            font-weight: normal;
        }

    .document-content table tbody td {
        text-align: center !important;
    }

    .document-content table td.border-top,
    .document-content table th.border-top {
        border-top: 1px solid black;
    }
/*.document-content table,
.document-content th,
.document-content td {
    border: 1px solid black;
}*/
.document-content .no-border {
    border: none !important;
}

.document-content .no-td-border td,
.document-content .no-td-border th {
    border: none !important;
}

.document-content .no-border-table,
.document-content .no-border-table th,
.document-content .no-border-table td {
    border: none;
}

.document-content .no-padding-table th,
.document-content .no-padding-table td {
    padding: 0 !important;
}

.document-content .annotation {
    font-size: 12px;
    margin: 0 auto;
    text-align: center;
}

.document-content .template-field {
    direction: ltr;
    letter-spacing: 3px;
    padding-top: 5px;
    margin-bottom: -2px;
}

    .document-content .template-field.number-field {
        margin-bottom: -6px;
        letter-spacing: 6px;
    }

        .document-content .template-field.number-field:after {
            content: "| | | | | | | |";
        }

    .document-content .template-field.date-field:after {
        content: "__|__|____";
    }

    .document-content .template-field.id-field:after {
        content: "________|_";
    }

    .document-content .template-field.deductions-field:after {
        content: "9________";
    }

.document-content .left-side,
.document-content .right-side {
    width: 49%;
    display: inline-block;
    vertical-align: top;
}

.document-box {
    border: 1px solid black;
    padding: 5px;
}

/* 161 */
.document-content.document-161 .doc-header {
    min-height: 120px;
}

    .document-content.document-161 .doc-header .doc-header-left {
        top: 0;
        font-size: 10px;
        max-width: 220px;
    }

        .document-content.document-161 .doc-header .doc-header-left > div {
            padding: 3px 5px;
            border: 1px solid black;
        }

    .document-content.document-161 .doc-header .doc-header-left {
        text-align: justify;
    }

        .document-content.document-161 .doc-header .doc-header-left > p {
            text-align: center;
        }

.document-content .page {
    position: relative !important;
    margin: 0 auto;
    height: 1115px;
    width: 800px;
    font-size: 10px;
    page-break-after: always;
    overflow-y: hidden; /* prevent empty page in the end in PDF */
}

    .document-content .page img {
        width: 100%;
    }

.doc-item {
    position: absolute;
}

    .doc-item:not(.full-content) {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

input.doc-item {
    /*border-color: silver;*/
}

/* 7003 */
.document-content.document-7003 .doc-header {
    height: 95px;
    margin-right: 40px;
}

    .document-content.document-7003 .doc-header .doc-header-left {
        top: 5px;
        padding: 5px 5px 0 5px;
        text-align: center;
        background-color: #ccc;
        border: 1px solid black;
        min-width: 165px;
    }

/* 1214 */
.document-1214 .amount-field {
    font-size: 14px;
    letter-spacing: 7px;
}
.document-1214.document-1214-2024 .amount-field {
    letter-spacing: 0px;
    padding-right: 7px;
}

/* 1214b */
.document-1214b .top-15 > .align-left:not(:last-child) {
    display: table;
    width: 100%;
    border-spacing: 0;
    direction: rtl;
}

.document-1214b .top-15 > .align-left:not(:last-child) > div {
    display: table-cell;
    vertical-align: top;
    text-align: right;
}

.document-1214b .top-15 > .align-left:not(:last-child) > div:last-child {
    width: 195px;
}

/* 1301 */
.document-1301 .amount-field {
    font-size: 12px;
    letter-spacing: 5px;
}

.document-1301.document-1301-2024 .amount-field {
    letter-spacing: 0px;
    padding-right: 9px;
}

/* 1321 */
.document-1321 .amount-field {
    font-size: 12px;
    letter-spacing: 5px;
}
.document-1321.document-1321-2024 .amount-field {
    letter-spacing: 0px;
    padding-right: 7px;
}

/* 1323 */
.document-1323 .amount-field {
    font-size: 12px;
    letter-spacing: 5px;
}
.document-1323.document-1323-2024 .amount-field {
    letter-spacing: 0px;
    padding-right: 7px;
}

/* 1324 */
.document-1324 .amount-field {
    font-size: 12px;
    letter-spacing: 5px;
}

.document-1324.document-1324-2024 .amount-field {
    letter-spacing: 0px;
    padding-right: 7px;
}

/* 1344 */
.document-1344 .amount-field {
    font-size: 12px;
    letter-spacing: 5px;
}

.document-1344.document-1344-2024 .amount-field {
    letter-spacing: 0px;
    padding-right: 7px;
}

/* 135 */
.document-135 .amount-field {
    font-size: 12px;
    letter-spacing: 5px;
}

.document-135.document-135-2024 .amount-field {
    letter-spacing: 0px;
    padding-right: 7px;
}

/* 6111 */
.document-6111 .amount-field {
    font-size: 14px;
    letter-spacing: 6.2px;
    direction: ltr;
}

.document-6111.document-6111-2024 .amount-field {
    letter-spacing: 0px;
    padding-right: 7px;
}

/* 150 */
.document-150 .title-field {
    display: inline-block;
    min-width: 200px;
    padding: 5px 0;
}

/* COMMON */
ol {
    -webkit-padding-start: 20px;
}

.letter-spc-2 {
    letter-spacing: 2px;
}

.letter-spc-3 {
    letter-spacing: 3px;
}

.f-size-huge {
    font-size: 24px;
}

.f-size-title {
    font-size: 20px;
}

.f-size-small {
    font-size: 14px;
}

.f-size-tiny {
    font-size: 10px;
}

.align-top {
    vertical-align: top;
}

.center {
    text-align: center;
}

.check-sign {
    padding: 7px;
    line-height: normal;
    display: inline-block;
    border: 1px solid #B1B1B1;
    margin: 0;
    vertical-align: middle;
}

.border-bottom {
    width: 100%;
    border-bottom: 1px solid !important;
}

.border-left {
    border-left: 1px solid !important;
}

.width-by-content {
    width: 1%;
    white-space: nowrap;
}

body.document-print {
    direction: rtl !important;
    text-align: right;
}

.document-print .modal-dialog {
    width: 100%;
}

.document-print .modal-content {
    box-shadow: none;
    border: none;
}

.document-print .header {
    margin-bottom: 5px;
}

@media print {

    .hsv-document {
        padding: 0;
        font-family: David;
    }

        .hsv-document,
        .hsv-document table th,
        .hsv-document table td,
        .hsv-document table th {
            font-size: 12px;
        }

    .f-size-huge {
        font-size: 20px;
    }

    .f-size-title {
        font-size: 16px;
    }

    .f-size-small {
        font-size: 10px;
    }

    .f-size-tiny {
        font-size: 8px;
    }
}

.assignees-count-badge {
    color: white;
    background-color: #118dcf;
    font-size: 0.7em;
    padding: 1px 5px;
    width: 60px;
    position: absolute;
    left: -7px;
    bottom: 5px;
    text-align: center;
}

.assignees-count-list {
    margin-top: 8px;
    font-size: 0.9em;
}

    .assignees-count-list select {
        width: 100%;
        padding: 2px;
    }
