﻿/*#mainControl {
    display: flex !important;
    flex-wrap: wrap !important;
}*/

.hide {
    visibility: hidden;
    display: none;
}

/* Counterpart to print-hide: block-level content that exists only on paper
   (e.g. a status line standing in for a screen-only toolbar). */
.print-only {
    display: none;
}

@media print {

    .print-only {
        display: block;
    }


    .text-right{
        text-align: right;
    }

    /*This makes the page white on preview. Really has no actual purpose other than that. */
    .theme-metro #wrapper{
        background-color: white !important;
    }


    .table-invoice tbody > tr > td,
    .table-invoice thead > tr > th {
        border: none !important;
        padding: 1px !important;
    }
    
    .table-invoice thead > tr > th {
        background: rgb(0, 0, 0) !important;
        color: white !important;
    }

    /*@page {
        
        margin-top: .5cm;
        margin-left: .5cm;
        margin-right: .5cm;
        margin-bottom: .5cm;
    }*/
    .p-no-wrap > p {
        display: inline
    }

    @page {
        /*size: letter;*/
        margin: .5cm;
    }

    /*    .equal, .equal > div[class*='col-'] {
        display: -webkit-flex;
        display: flex;
        flex: 1 1 auto;
    }*/

    .table-fit-left {
        width: 1px;
        text-wrap: none;
        text-align: left !important;
        white-space: nowrap;
    }

    body {
        margin: 5mm 0mm 5mm 0mm;
    }

    nav.navbar-static-side {
        display: none;
    }

    /* The Otto drawer is injected into #right-sidebar by TopNav on every authenticated page,
       and the invoice PDF is produced by rendering index.html headlessly with an auth cookie —
       so without this its placeholder text ("Ask a question about the selected company…")
       printed at the top of every invoice, on every tenant. Found on a Pomona test render. */
    #right-sidebar,
    .coreai-drawer,
    .coreai-launcher {
        display: none !important;
    }

    body {
        overflow: visible !important;
    }

    #page-wrapper {
        padding-right: 15px;
        padding-left: 15px;
        margin-right: auto;
        margin-left: auto;
        position: relative;
    }


/*    @media (min-width: 768px) {
        #page-wrapper {
            width: 750px;
        }
    }

    @media (min-width: 992px) {
        #page-wrapper {
            width: 970px;
        }
    }

    @media (min-width: 1200px) {
        #page-wrapper {
            width: 1170px;
        }
    }*/


    .print-span-p > p {
        margin-bottom:3px;
    }

    .print-no-break {
        position: relative;
        break-inside: avoid-page;
    }

    .print-no-break-before {
        break-before: avoid-page;
    }

    .print-no-break-after {
        break-after: avoid-page;
    }

    .print-no-break-override {
        break-inside: inherit;
    }

    /* Print page-break utilities for module wrapper classes */
    .print-hardbreak-after {
        position: relative;
        display: block !important;
        float: none !important;
        width: 100% !important;
        clear: both !important;
        break-after: page;
        page-break-after: always;
    }

    .print-page-break-after {
        position: relative;
        display: block !important;
        float: none !important;
        width: 100% !important;
        clear: both !important;
        break-after: page;
        page-break-after: always;
    }


    .print-can-break {
        /*page-break-before: always;*/
        page-break-inside: avoid;
        min-height: 1px;
        margin-top: 50mm;
        margin-bottom: 50mm;
    }

    .print-hardbreak-before {
        position: relative;
        display: block !important;
        float: none !important;
        width: 100% !important;
        clear: both !important;
        break-before: page;
        page-break-before: always;
    }

    .print-page-break-before {
        position: relative;
        display: block !important;
        float: none !important;
        width: 100% !important;
        clear: both !important;
        break-before: page;
        page-break-before: always;
    }

    .print-break-after {
        display: block !important;
        float: none !important;
        width: 100% !important;
        clear: both !important;
        break-after: page;
        page-break-after: always;
        break-inside: avoid-page;
    }

    .print-break-before {
        position: relative;
        display: block !important;
        float: none !important;
        width: 100% !important;
        clear: both !important;
        break-before: page;
        page-break-before: always;
        break-inside: avoid-page;
    }

    .print-page-break-avoid,
    .print-avoid-break {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .row {
        position: relative;
        margin: 0px !important;
        border: none;
    }

    .text-module-break {
        page-break-before: always;
        margin-top: 30px;
    }

    /* The one number the reader is looking for on paper (e.g. Balance Remaining).
       Bold on a gray band; color-adjust keeps the band from being dropped by
       "print backgrounds" defaults. */
    .print-emphasis {
        display: inline-block;
        padding: 2px 6px;
        background-color: #e5e5e5 !important;
        font-weight: bold;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .print-emphasis label {
        color: #000 !important;
        font-weight: bold;
    }

    /* Louder variant — Past Due status. */
    .print-emphasis-lg,
    .print-emphasis-lg label {
        font-size: 15px !important;
    }

    /* Stripe box on paper. It sits in a one-third-width column, so its
       inner 7/5 split leaves the QR ~70px of room; Bootstrap's print
       img { max-width:100% } then squeezes the width while the height
       stays fixed and the code prints distorted. Flatten the two columns
       and order the pieces: Fee, "Payment Link:", QR, URL. */
    .stripe-link-row {
        display: flex;
        flex-direction: column;
        text-align: left !important;
    }

    .stripe-link-row > .col-sm-7,
    .stripe-link-row > .col-sm-5 {
        display: contents;
    }

    .stripe-link-row > div > * { order: 9; }
    .stripe-link-row .stripe-fee-inline { order: 1; }
    .stripe-link-row .control-label     { order: 2; }
    .stripe-link-row .stripe-qr-wrap    { order: 3; text-align: left; }
    .stripe-link-row .stripe-link-full  { order: 4; }

    .stripe-qr-box {
        width: 106px !important;
        height: 106px !important;
        max-width: none !important;
    }

    /* Zelle box: stack the same way — lead line, "Or scan" line, QR; the
       Send-to and memo lines already follow in the markup. */
    .zelle-top {
        flex-direction: column !important;
    }

    .zelle-qr-box {
        width: 106px !important;
        height: 106px !important;
        max-width: none !important;
    }


    html {
        background-color: #FFFFFF;
        margin: 0px;
    }

    /*#mainControl {
        margin: 1.6cm;
    }*/

    .fr-toolbar {
        display: none;
    }

    .QuoteModule {
        border: none;
        padding: 0px;
    }

    .fr-element > p {
        padding-left: 5px;
        margin-bottom: 0px;
        font-size: 12px;
    }

    .QuoteModuleDanger {
        border: none;
        padding: 0px;
    }

    /* Paper density. Only bootstrap.css and this sheet apply at print (the theme
       sheets are media="screen"), so without these the page inherits Bootstrap's
       screen defaults: 14px body, 10px paragraph gaps, 20px under <address>,
       15px alert padding. 12px is 9pt — the size the labels and inputs below
       already print at — and the whole sheet reads as one size instead of two. */
    body {
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    p {
        margin: 0 0 4px !important;
    }

    address {
        margin-bottom: 6px !important;
        line-height: 1.35 !important;
    }

    label {
        margin-bottom: 0 !important;
    }

    .alert {
        padding: 4px 8px !important;
        margin-bottom: 4px !important;
    }

    .table > thead > tr > th {
        padding-top: 2px !important;
        padding-bottom: 2px !important;
    }

    h3 {
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        margin-top: 4px !important;
        margin-bottom: 4px !important;
    }

    a[href]:after {
        content: none !important;
    }

    .b-r-lg {
        -webkit-border-radius: 12px;
        -moz-border-radius: 12px;
        border-radius: 12px;
    }

    .table > tbody > tr > th {
        padding-left: 5px;
        padding-right: 5px;
    }

    .table > tbody > tr > td > span > p {
        padding-bottom: 2px;
        padding-top: 2px;
        margin-bottom: 0px;
    }


    .table > tbody > tr > td {
        padding-left: 5px;
        padding-right: 5px;
        padding-top: 1px;
        padding-bottom: 1px;
        border-top-width: 2px;
    }


    .table > tbody > tr > td > p {
        margin-bottom: 0px;
    }

    .QuoteSectionHeader {
        color: rgb(51, 51, 51);
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 13px !important;
        line-height: 23.99px;
        font-weight: bold !important;
    }

    .table-fit-right {
        text-align: right !important;
    }

    .table-striped > tbody > tr:nth-of-type(odd) {
        background-color: lightgrey !important;
    }

    .table-print-solid {
        border: none !important;
    }

    .table-print-solid > tbody > tr {
        border: none !important;
        display: table-row !important;
    }

    .table-print-solid > tbody > tr > td {
        /* background-color: #f9f9f9 !important;
        text-align: left; */
        border: none !important;
        display: table-cell !important; 
    }

    .table-print-white > tbody > tr > td {
        background-color: white !important;
        text-align: left;
    }

        .table-print-white > tbody > tr > td:last-child {
            text-align: right !important;
        }

    .table-print-solid > tbody > tr > td:last-child {
        text-align: right !important;
    }

    .font-mult {
        font-size: 12px !important;
    }

    .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th {
        background-color: #f2dede !important;
    }

    .table-striped > tbody > tr:nth-of-type(odd) {
        background-color: #f9f9f9 !important;
    }

    div[class*="col-"] {
        padding-left: 0px !important;
    }

    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
        float: left;
    }

    .col-sm-12 {
        width: 100%;
    }

    .col-sm-11 {
        width: 91.66666667%;
    }

    .col-sm-10 {
        width: 83.33333333%;
    }

    .col-sm-9 {
        width: 75%;
    }

    .col-sm-8 {
        width: 66.66666667%;
    }

    .col-sm-7 {
        width: 58.33333333%;
    }

    .col-sm-6 {
        width: 50%;
    }

    .col-sm-5 {
        width: 41.66666667%;
    }

    .col-sm-4 {
        width: 33.33333333%;
    }

    .col-sm-3 {
        width: 25%;
    }

    .col-sm-2 {
        width: 16.66666667%;
    }

    .col-sm-1 {
        width: 8.33333333%;
    }

    .col-sm-pull-12 {
        right: 100%;
    }

    .col-sm-pull-11 {
        right: 91.66666667%;
    }

    .col-sm-pull-10 {
        right: 83.33333333%;
    }

    .col-sm-pull-9 {
        right: 75%;
    }

    .col-sm-pull-8 {
        right: 66.66666667%;
    }

    .col-sm-pull-7 {
        right: 58.33333333%;
    }

    .col-sm-pull-6 {
        right: 50%;
    }

    .col-sm-pull-5 {
        right: 41.66666667%;
    }

    .col-sm-pull-4 {
        right: 33.33333333%;
    }

    .col-sm-pull-3 {
        right: 25%;
    }

    .col-sm-pull-2 {
        right: 16.66666667%;
    }

    .col-sm-pull-1 {
        right: 8.33333333%;
    }

    .col-sm-pull-0 {
        right: auto;
    }

    .col-sm-push-12 {
        left: 100%;
    }

    .col-sm-push-11 {
        left: 91.66666667%;
    }

    .col-sm-push-10 {
        left: 83.33333333%;
    }

    .col-sm-push-9 {
        left: 75%;
    }

    .col-sm-push-8 {
        left: 66.66666667%;
    }

    .col-sm-push-7 {
        left: 58.33333333%;
    }

    .col-sm-push-6 {
        left: 50%;
    }

    .col-sm-push-5 {
        left: 41.66666667%;
    }

    .col-sm-push-4 {
        left: 33.33333333%;
    }

    .col-sm-push-3 {
        left: 25%;
    }

    .col-sm-push-2 {
        left: 16.66666667%;
    }

    .col-sm-push-1 {
        left: 8.33333333%;
    }

    .col-sm-push-0 {
        left: auto;
    }

    .col-sm-offset-12 {
        margin-left: 100%;
    }

    .col-sm-offset-11 {
        margin-left: 91.66666667%;
    }

    .col-sm-offset-10 {
        margin-left: 83.33333333%;
    }

    .col-sm-offset-9 {
        margin-left: 75%;
    }

    .col-sm-offset-8 {
        margin-left: 66.66666667%;
    }

    .col-sm-offset-7 {
        margin-left: 58.33333333%;
    }

    .col-sm-offset-6 {
        margin-left: 50%;
    }

    .col-sm-offset-5 {
        margin-left: 41.66666667%;
    }

    .col-sm-offset-4 {
        margin-left: 33.33333333%;
    }

    .col-sm-offset-3 {
        margin-left: 25%;
    }

    .col-sm-offset-2 {
        margin-left: 16.66666667%;
    }

    .col-sm-offset-1 {
        margin-left: 8.33333333%;
    }

    .col-sm-offset-0 {
        margin-left: 0%;
    }

    .visible-xs {
        display: none !important;
    }

    .hidden-xs {
        display: block !important;
    }

    table.hidden-xs {
        display: table;
    }

    tr.hidden-xs {
        display: table-row !important;
    }

    th.hidden-xs,
    td.hidden-xs {
        display: table-cell !important;
    }

    .hidden-xs.print-hide {
        display: none !important;
    }

    .hidden-sm {
        display: none !important;
    }

    .visible-sm {
        display: block !important;
    }

    table.visible-sm {
        display: table;
    }

    tr.visible-sm {
        display: table-row !important;
    }

    th.visible-sm,
    td.visible-sm {
        display: table-cell !important;
    }

    .print-hide {
        display: none !important;
    }

    /* ------------------------------------------------------------------
       Envelope window. A contactpicker with printWindow:"True" is lifted out
       of the flow and pinned where a #10 left-window envelope's window falls
       once the letter is C-folded with the top third facing out.

       Calibrated to Pomona Artesian's stock (measured 2026-09-11):
         window 4-1/2 x 1-1/8 in, 1-1/2 in from the left edge, 3/8 in up from
         the bottom. The folded panel (3.667 in) has 0.458 in of vertical play
         inside a 4.125 in envelope, so the only region visible however the
         sheet settles is  x 1.50-6.00 in,  y 2.62-3.29 in  (0.67 in tall).
       Coordinates below are from the page CONTENT box — @page margin is .5cm
       (0.197 in) — so they sit ~0.2 in inside the physical measurements.
       Width stops short of 5.5 in so a sheet inserted centred (1 in of side
       play in a 9.5 in envelope) still clears the window's right edge.
       A 3-line address at this size is 0.57 in; four lines would not fit.
       ------------------------------------------------------------------ */
    /* Bootstrap gives .col-*, .row and the page wrapper position:relative, which would
       make the absolute block resolve against its column instead of the page. Flatten
       every positioned ancestor on the chain that holds a window block. :has() needs
       Chromium 105+; the PuppeteerSharp renderer ships 109. */
    .col-sm-6:has(.print-window),
    .col-sm-12:has(.print-window),
    .row:has(.print-window),
    .gray-bg:has(.print-window),
    [class*="col-"]:has(.print-window) {
        position: static !important;
    }
    /* An absolutely-positioned block holds no flow space, and the Sold To block
       beside it is hidden, so without this the row collapses and whatever follows
       (the item table) slides up into the window and overprints the address. Keep
       the column tall enough to clear the fold. */
    [class*="col-"]:has(.print-window) {
        min-height: 1.25in !important;
    }
    .print-window {
        position: absolute !important;
        left: 1.55in !important;
        top: 2.48in !important;      /* physical ~2.68in: centres a 3-line block in the 2.62-3.29 zone */
        width: 3.5in !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 10pt !important;   /* 3 lines = 0.54in; the safe zone is 0.67in */
        line-height: 1.3 !important;
    }
    .print-window .ibox,
    .print-window .ibox-content,
    .print-window .view,
    .print-window address {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: none !important;
    }
    .print-window address a {
        color: #000 !important;
        text-decoration: none !important;
    }
    /* postal address only: contact name, phones and email are not mailing lines */
    .print-window .print-window-hide {
        display: none !important;
    }

    .dropdown-toggle {
        display: none !important;
    }

    table td .btn {
        display: none !important;
    }

    .form-control {
        border: 0px;
        box-shadow: none;
        -webkit-box-shadow: none;
        background-color: transparent;
        font-weight: 500;
        padding-top: 0px !important;
        padding-bottom: 0px !important;
        padding-left: 5px !important;
        margin-bottom: 0px !important;
        line-height: 20px !important;
        height: 20px !important;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 12px !important;
        font-style: normal;
        color: rgb(51, 51, 51) !important;
        width: auto;
    }

    .invoice-header-inline {
        display: inline-block !important;
        max-width: 120px !important;
        width: 120px !important;
    }

    /* A header control that is a picker on screen and text on paper (the service point
       select): the inline-block above would otherwise out-cascade .print-hide. */
    .invoice-header-inline.print-hide {
        display: none !important;
    }

    .ibox-title {
        border-bottom: solid 1px black;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
        margin-bottom: 3px !important;
    }

        .ibox-title > h3 {
            font-weight: 700 !important;
            line-height: 1.15 !important;
            margin-top: 0 !important;
            margin-bottom: 0 !important;
            font-size: 14px !important;
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
            font-style: normal;
        }

        .ibox-title > h4 {
            font-weight: 700;
            line-height: 17px !important;
            height: 17px !important;
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
            font-size: 19px !important;
            font-style: normal;
        }

    div.col-sm-8 > h4 {
        font-weight: 700;
        line-height: 17px !important;
        height: 17px !important;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 19px !important;
        font-style: normal;
    }


    div.col-sm-12 > h4 {
        font-weight: 700;
        line-height: 17px !important;
        height: 17px !important;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 19px !important;
        font-style: normal;
    }

    h4 {
        font-size: 13px;
        margin-top: 4px;
        margin-bottom: 4px;
    }

    select .form-control {
        padding-top: 0px !important;
        height: 20px !important;
        padding-bottom: 0px !important;
    }

    .print-align-right {
        text-align: right;
    }

    .print-align-left {
        text-align: left;
    }

    .pal {
        text-align: left !important;
        padding-left: 5px !important;
    }

    .pal-dropdown {
        text-align: left !important;
        padding-left: 5px !important;
        height: 17px !important;
        line-height: 17px !important;
        margin-bottom: 0px !important;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 12px !important;
        font-weight: 500;
        color: rgb(51, 51, 51);
    }

    .par {
        text-align: right !important;
        padding-right: 5px !important;
    }

    .control-label {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        color: rgb(51, 51, 51);
        margin-bottom: 0px;
        height: 17px !important;
        line-height: 17px !important;
    }

    .control-checkbox {
        padding-left: 5px;
    }

    div.filehandler-control > div > div > span > a {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-weight: normal;
        color: rgb(51, 51, 51);
        height: 17px !important;
        line-height: 17px !important;
        padding-left: 15px !important;
    }

    .filehandler-control > div > div > span {
        line-height: 17px;
    }

    .filehandler-control > div > div {
        height: 20px !important;
        line-height: 17px;
        padding-bottom: 5px !important;
        margin-bottom: 5px !important;
    }

    .filehandler-control > span > div > div {
        margin-bottom: 0px;
        height: auto;
    }

    .control-label.auto-height {
        height: auto !important;
    }



    .table {
        margin-bottom: 0px !important;
    }

    .print-margin-25 {
        margin-top: 25px;
    }

    .table-fit {
        width: 1px;
        text-wrap: none;
        text-align: right;
    }

    div.margin-b-0 {
        margin-bottom: 0px;
    }



    header {
        margin-top: 5cm;
    }

    div.form-group span a.text {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 12px;
        font-weight: 500;
        font-style: normal;
        color: rgb(51, 51, 51);
        padding-top: 0px;
        padding-left: 20px;
    }

    div.form-group {
        height: 20px;
    }

    form-horizontal .form-group {
        padding-top: 7px;
    }

    /*Loading screen CSS*/
    .loading {
        position: fixed;
        top: 0;
        left: 0;
        background-color: white;
        z-index: 5;
        width: 100%;
        height: 100%;
    }

    .loading-img {
        position: fixed;
        top: 50%;
        left: 50%;
        margin-top: -75px;
        margin-left: -60px;
    }

    .loading-txt {
        position: relative;
        top: 50%;
        margin-top: 50px;
        text-align: center;
        font-weight: bold;
    }

    .no-scroll {
        overflow: hidden;
    }

    .sheetrow {
        height: 50px;
    }

    .input-xs {
        height: 22px;
        padding: 2px 5px;
        font-size: 14px;
        font-size: 12px;
        line-height: 1.5;
        border: none;
        box-shadow: none;
        outline: none;
    }

    .text-area {
        border: none !important;
        outline: none !important;
        box-shadow: none !important;
        padding-left: 0px !important;
        height: auto !important;
        overflow: hidden;
    }

    select {
        -webkit-appearance: none;
        -moz-appearance: none;
        text-indent: 1px;
        text-overflow: '';
        background: url("custom image") no-repeat right center;
    }

        select::-ms-expand {
            display: none;
        }

    textarea {
        border: none !important;
        overflow: auto !important;
        outline: none !important;
        resize: none !important;
        -webkit-box-shadow: none !important;
        -moz-box-shadow: none !important;
        box-shadow: none !important;
    }

    .txt-overflow {
        page-break-inside: avoid;
        padding-top: 20px;
    }

    .paper {
        padding-left: 0px;
        padding-right: 0px;
        margin-left: auto;
        margin-right: auto;
        /*width:100%;*/
        width: 800px !important;
        max-width: 800px !important;
        min-width: 800px !important;
    }

    address > span {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 12px;
        font-weight: 500;
        color: rgb(51, 51, 51);
        line-height: 17px;
    }

    .header {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 12px;
        font-weight: 700;
        color: rgb(51, 51, 51);
        line-height: 17px;
    }

    address > strong {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 12px;
        font-weight: 700;
        color: rgb(51, 51, 51);
        line-height: 17px;
    }

    .print-textbox {
        background-color: white !important;
    }

    .print-textarea {
        background-color: white !important;
        height: 800px;
    }

    .print-center {
        text-align: center;
    }

    .print-text {
        color: black !important;
    }

    .print-border {
        padding: 15px 20px 20px 20px;
        border: 1px black solid;
    }

    .print-padding-right {
        padding-right: 20px;
    }


    /* =========================================================
       TABLE-PRINT — Keep tables as tables with solid styling
       Single class replaces both table-print and table-print-solid
       ========================================================= */
       .table-print,
       .table-print thead,
       .table-print tbody,
       .table-print tr,
       .table-print td,
       .table-print th {
           display: table !important;
       }
   
       .table-print thead {
           display: table-header-group !important;
       }
   
       .table-print tbody {
           display: table-row-group !important;
       }
   
       .table-print tr {
           display: table-row !important;
           border: none !important;
       }
   
       /* Only force table-cell on td/th that are NOT hidden */
       .table-print td:not(.print-hide):not([style*="display: none"]),
       .table-print th:not(.print-hide):not([style*="display: none"]) {
           display: table-cell !important;
           padding: 1px 5px !important;
           border: none !important;
       }
   
       .table-print > tbody > tr {
           background-color: white !important;
       }
   
       .table-print > tbody > tr > td {
           border-bottom: 1px solid #000 !important;
       }
   
       .table-print > tbody > tr > td:last-child {
           border-right: none !important;
       }
   
       .table-print td[data-label]::before {
           display: none !important;
       }

    /* Ensure print-hide overrides table rules */
    .table-print .print-hide {
        display: none !important;
    }

    /* Handle Knockout visible binding on table cells */
    .table-print td[style*="display: none"],
    .table-print th[style*="display: none"] {
        display: none !important;
    }

    /* Hide the calendar icon on date inputs. One rule per engine: an unknown
       pseudo-element anywhere in a selector list invalidates the whole rule, so
       the -webkit- and -moz- selectors must not share one. */
    input[type="date"]::-webkit-calendar-picker-indicator {
        display: none !important;
        -webkit-appearance: none !important;
    }
    input[type="date"]::-moz-calendar-picker-indicator {
        display: none !important;
    }

    /* Search group styles for print */
    .print-search-group,
    .supplier-search-group,
    .ledger-search-group {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px !important;
        align-items: flex-start !important;
    }

    .print-search-group > div,
    .supplier-search-group > div,
    .ledger-search-group > div {
        display: flex !important;
        flex-direction: column !important;
    }

    .print-search-group label,
    .supplier-search-group label,
    .ledger-search-group label {
        font-weight: 600;
        margin-bottom: 2px;
    }

    .print-search-group .form-control,
    .supplier-search-group .form-control,
    .ledger-search-group .form-control {
        height: auto !important;
        line-height: 17px !important;
        min-height: 17px !important;
    }

    .print-search-group .btn,
    .supplier-search-group .btn,
    .ledger-search-group .btn {
        display: none !important;
    }

    .payable-filter-group {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        margin-right: 15px !important;
        margin-bottom: 5px !important;
    }

    .payable-filter-group label {
        font-weight: 600;
        margin-right: 5px;
        margin-bottom: 0 !important;
        white-space: nowrap;
    }

    .payable-filter-group .form-control {
        height: auto !important;
        line-height: 17px !important;
        min-height: 17px !important;
        display: inline !important;
    }

    .payable-filter-enable-dates,
    .payable-filter-search {
        display: none !important;
    }

    /* Workorder time report — collapsible group headers */
    .wo-time-group {
        margin-bottom: 10px;
        break-inside: avoid-page;
    }

    .wo-time-group-header {
        padding: 4px 0 4px 8px !important;
        margin-bottom: 2px !important;
        border: none !important;
        border-left: 3px solid #435a70 !important;
        border-radius: 0 !important;
        background-color: transparent !important;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 17px !important;
        font-weight: 700 !important;
        color: rgb(51, 51, 51) !important;
    }

    .wo-time-group-header .wo-time-title {
        font-style: italic;
    }

    .wo-time-group-header .wo-time-hours {
        font-weight: 700;
    }

    .wo-time-group-header .wo-time-chevron {
        display: none !important;
    }

    /* Keep the title ~3pt above the column header in print too */
    .wo-time-group .table thead th {
        font-size: 13px !important;
    }

    /* Profit & Loss statement — print as a clean summary sheet */
    .pnl-statement .ibox-title {
        display: none !important;
    }

    .pnl-statement .pnl-header {
        display: block !important;
        margin-bottom: 12px;
    }

    .pnl-statement .pnl-title {
        font-size: 18px !important;
        font-weight: 700 !important;
        margin-bottom: 2px;
    }

    /* Drill-down detail and chevrons are on-screen affordances only */
    .pnl-statement .pnl-drill,
    .pnl-statement .pnl-chevron {
        display: none !important;
    }

    .pnl-table > tbody > tr > td,
    .pnl-table > thead > tr > th,
    .pnl-table > tfoot > tr > td {
        padding: 3px 6px !important;
    }

    .pnl-table .pnl-section-head {
        font-weight: 700 !important;
        border-bottom: 1px solid #000 !important;
    }

    .pnl-table .pnl-total-row > td {
        border-top: 1px solid #000 !important;
        font-weight: 700;
    }

    .pnl-table .pnl-net-row > td {
        border-top: 2px solid #000 !important;
        border-bottom: 3px double #000 !important;
        font-weight: 700;
    }

    }

.dtpicker-width > div > input {
    width: 70px !important;
}

.dtpicker-width > div > div > input {
    width: 70px !important;
}

.print-textbox {
    background-color: white !important;
}


.print-textarea {
    background-color: white !important;
    height: 800px;
}

.print-center {
    text-align: center;
}

.print-text {
    color: black !important;
}

.print-border {
    padding: 15px 20px 20px 20px;
    border: 1px black solid;
}

.print-padding-right {
    padding-right: 20px;
}
