/* Custom styles - Mahima */

/* ========================================
   Battery COTC Certificate Styles
   ======================================== */

/* Panel Container */
.battery-cotc-panel {
    background: #fff;
    color: #1a1815;
}

.battery-cotc-panel .panel-body {
    padding: 0;
}

/* Title Section */
.cotc-title-section {
    background-color: #162f52;
    padding: 30px 20px;
    text-align: center;
    color: #fff;
}

.cotc-main-title {
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 1px;
    margin: 0 0 10px 0;
    color: #fff;
}

.cotc-subtitle {
    font-size: 18px;
    letter-spacing: 1px;
    margin: 0;
}

/* Checkboxes Section */

.cotc-checkboxes-section {
    padding: 20px 50px 20px;
    background: #fff;
}

.cotc-checkbox-item {
    margin-bottom: 20px;
}

.cotc-checkbox-label {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    margin: 0;
    font-weight: normal;
}

.cotc-checkbox {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.cotc-checkbox-icon {
    width: 24px;
    height: 24px;
    border: 2px solid #2c3e50;
    background-color: #fff;
    border-radius: 4px;
    margin-right: 15px;
    flex-shrink: 0;
    position: relative;
    margin-top: 2px;
}

.cotc-checkbox:checked + .cotc-checkbox-icon {
    background-color: #2c3e50;
}

.cotc-checkbox:checked + .cotc-checkbox-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%) rotate(45deg);
    width: 8px;
    height: 16px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
}

.cotc-checkbox-content {
    flex: 1;
}

.cotc-checkbox-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 5px;
    letter-spacing: 0.5px;
}

.cotc-checkbox-desc {
    font-size: 14px;
    line-height: 18px;
}

.cotc-checkbox-right-label {
    font-size: 18px;
    font-weight: 600;
    padding-top: 5px;
    text-align: right;
}

/* Form Section */
.cotc-form-section {
    padding: 0px 50px 20px 50px;
    background: #fff;
}

.cotc-section-title {
    font-size: 16px;
    margin-bottom: 20px;
    margin-top: 10px;
    font-weight: 500;
}

.cotc-required {
    color: #d9534f;
    font-weight: bold;
}

.cotc-form-row {
    margin-bottom: 0;
}

.cotc-label {
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}

.cotc-label.custom-label {
    margin-bottom: 5px;
}

.cotc-label-note {
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
}

.cotc-input {
    border: none;
    border-bottom: 1px solid;
    border-color: #000000 !important;
    border-radius: 0 !important;
    padding: 6px 0;
    box-shadow: none;
    font-size: 15px;
    height: 20px !important;
    margin-left: 12px;
}

.cotc-input:focus {
    box-shadow: none !important;
    outline: none;
}

.cotc-textarea {
    border: 1px solid;
    border-color: #000000 !important;
    border-radius: 6px;
    padding: 10px;
    font-size: 15px;
    resize: vertical;
}

.cotc-textarea:focus {
    border-color: #2c3e50;
    box-shadow: none;
    outline: none;
}

/* Certification Text */
.cotc-certification-text {
    font-size: 15px;
    line-height: 15px;
}

.cotc-certification-text p {
    margin-bottom: 20px;
}

/* Name Section */
.cotc-name-section {
    margin: 20px 0 15px;
}

.cotc-section-subtitle {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
}

.cotc-name-note {
    font-size: 10px;
    font-style: italic;
}

/* Signature */
.cotc-signature-line {
    border-bottom: 1px solid #333;
    height: 40px;
    margin-top: 10px;
}

.cotc-mandatory-note {
    font-size: 13px;
    font-weight: 500;
    text-align: right;
}

.cotc-wrapper.jobpack-embedded {
    margin: 0 15px;
    border: 2.5px solid #18385f;
}

/* Action Buttons */
.cotc-actions {
    margin-top: 25px;
}

.cotc-btn-download {
    background-color: #2c2c5e;
    color: #fff;
    border: none;
    padding: 12px 45px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 8px;
    margin-right: 15px;
}

.cotc-btn-download:hover {
    color: #fff;
}

.cotc-btn-update {
    background-color: #fff;
    color: #2c2c5e;
    border: 1px solid #2c2c5e;
    padding: 10px 45px;
    font-size: 15px;
    font-weight: 500;
    border-radius: 8px;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .cotc-main-title {
        font-size: 24px;
    }

    .cotc-subtitle {
        font-size: 14px;
    }

    .cotc-checkbox-right-label {
        text-align: left;
        margin-top: 10px;
        margin-bottom: 15px;
    }

    .cotc-mandatory-note {
        text-align: left;
        padding-top: 10px;
    }

    .cotc-btn-download,
    .cotc-btn-update {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }
}

/* ========================================
   SPV Customer Record Page Styles
   ======================================== */

/* Main Container */
.spv-customer-record {
    background-color: #fff;
    color: #1f2a2e;
}

.spv-customer-record .border-bottom {
    border: 1px solid #c9cedd;
}

/* Header Section */
.spv-header {
    background-color: #162f52;
    padding: 10px 30px;
    color: #fff;
}

.spv-logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    img{
        max-height: 130px !important;
    }
}

.spv-main-title {
    font-size: 34px;
    color: #fff;
    margin: 0;
}

.spv-header-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.spv-info-row {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: flex-end;
}

.spv-info-label {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
}

.spv-info-input {
    max-width: 200px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 13px;
    height: 35px !important;
}

/* Content Section */
.spv-content {
    padding: 25px 30px;
}

/* Company Section */
.spv-company-section {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 500;
}

.spv-company-name {
    margin: 0 0 5px 0;
    letter-spacing: 0.5px;
}

.spv-company-subname {
    margin: 0 0 10px 0;
    letter-spacing: 0.5px;
}

.spv-abn {
    font-weight: 400;
    margin: 0;
}

.spv-section-title {
    font-size: 16px;
    font-weight: 500;
    color: #18385f;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.spv-section-content {
    padding-left: 0;
}

.spv-owner-name {
    font-size: 18px;
    font-weight: 500;
    color: #000000;
    margin: 0 0 12px 0;
}

/* Detail Items with Icons */
.spv-detail-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.spv-detail-item img {
    padding-top: 3px;
}

.spv-detail-item span {
    font-size: 12px;
    line-height: 18px;
    color: #737a85;
}

/* System Details */
.spv-system-item {
    display: flex;
    padding: 5px 0;
}

.spv-system-label {
    font-size: 12px;
    color: #737a85;
    text-transform: uppercase;
}

.spv-system-value {
    font-size: 14px;
    font-weight: 600;
    color: #000000;
}

/* Property Details */
.spv-property-item {
    display: flex;
    padding: 5px 0;
}

.spv-property-value {
    font-size: 14px;
    font-weight: 500;
    color: #000000;
}

/* Inverter Details */
.spv-inverter-item {
    display: flex;
    margin-bottom: 12px;
}

/* Battery Details */
.spv-battery-item {
    display: flex;
    padding: 5px 0;
}

/* Table Section */
.spv-table-section {
    margin-top: 18px;
    border: 1px solid #1e3a5f;
    border-radius: 16px;
    overflow: hidden;
}

.spv-table-section .table-responsive {
    padding: 20px;
}

.spv-table-header {
    background-color: #1e3a5f;
    color: #fff;
    padding: 5px 20px;
    font-size: 12px;
    font-weight: 500;
    border-radius: 15px;
}

.spv-table {
    margin-bottom: 0;
}

/* C9CEDD */
.spv-table thead {
    background-color: #fafafa;
    border-bottom: 0 !important;
    table-layout: fixed;
    position: sticky;
    top: 0;
    z-index: 1;
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
}

.spv-table thead th {
    font-size: 12px;
    font-weight: 600;
    color: #1e3a5f;
    text-transform: uppercase;
    padding: 5px 10px !important;
    white-space: nowrap;
    border-bottom: 0 !important;
}

.spv-table tbody td {
    font-size: 12px;
    color: #232323;
    padding: 12px 10px;
    vertical-align: middle;
    border-bottom: none !important;
    border-top: none !important;
}

.cotc-signature-display {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    border: 1px solid;
    max-width: 200px;
}

.cotc-signature-image {
    max-width: 150px;
    max-height: 50px;
}

.cotc-signature-placeholder {
    color: #999;
    font-style: italic;
    font-size: 14px;
}

.spv-section-v2{
    gap: 30px;
}

.spv-section-v2,
.spv-section-content-v2{
    display: flex;
    align-items: center;
}

.spv-section-content-v2{
    gap: 10px;
}

.spv-inverter-item-v2{
    display: flex;
    gap: 10px;
    align-items: baseline;
}

.spv-inverter-details{
    display: -ms-inline-grid;
    gap: 3px;
}

.spv-inverter-v2{
    display: flex;
    gap: 30px;
    align-items: baseline;
}

.spv-inverter-data{
    display: flex;
    gap: 30px;
    align-items: baseline;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .spv-header {
        padding: 15px;
    }

    .spv-main-title {
        font-size: 20px;
    }

    .spv-info-row {
        justify-content: flex-start;
    }

    .spv-content {
        padding: 15px;
    }

    .spv-property-item,
    .spv-battery-item,
    .spv-system-item {
        flex-direction: column;
        gap: 3px;
    }
}

#complianceCertiPV,
#complianceCertiBat,
#stcFormv2,
#bstcFormv2 {
    .form-control[readonly]{
        background-color: white !important;
    }
}

/* CSS for Print Preview only - Savan D. */
@media print {
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
    .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        float: left !important;
    }
    .col-md-12 { width: 100% !important; }
    .col-md-11 { width: 91.66666667% !important; }
    .col-md-10 { width: 83.33333333% !important; }
    .col-md-9  { width: 75% !important; }
    .col-md-8  { width: 66.66666667% !important; }
    .col-md-7  { width: 58.33333333% !important; }
    .col-md-6  { width: 50% !important; }
    .col-md-5  { width: 41.66666667% !important; }
    .col-md-4  { width: 33.33333333% !important; }
    .col-md-3  { width: 25% !important; }
    .col-md-2  { width: 16.66666667% !important; }
    .col-md-1  { width: 8.33333333% !important; }

    #pvCustomerCerti{
        .spv-written-statement,
        .spv-written-statement * {
            break-inside: avoid !important;
            page-break-inside: avoid !important;
        }

        .panel-details-table th{
            font-size: 10px !important;
        }

        .panel-details-table th,
        .panel-details-table td {
            white-space: normal !important;
            word-break: break-word !important;
            overflow-wrap: anywhere !important;
        }
    
        .panel-details-table th:first-child,
        .panel-details-table td:first-child {
            white-space: nowrap !important;
            word-break: normal !important;
            overflow-wrap: normal !important;
            width: 10px !important;
        }
    
        .panel-details-table th:last-child,
        .panel-details-table td:last-child {
            white-space: nowrap !important;
            word-break: normal !important;
            overflow-wrap: normal !important;
        }
    } 
    #pvCustomerCerti,
    #batteryCustCerti{
        .spv-header .row{
            justify-content: space-between  ;
        }
        .spv-info-row {
            display: flex;
            align-items: center;
            gap: 10px;
            justify-content: center;
        }
        img{
            margin-left: 10px !important;
            max-height: 100px !important;
            height: 50%;
            width: 50%;
        }
        .spv-property-item{
            flex-direction: row;
        }
        .spv-inverter-data{
            gap: 10px;
        }
        .spv-inverter-v2,
        .spv-section-v2{
            gap: 7px;
        }
    }

    #complianceCertiPV,
    #complianceCertiBat{
        .cotc-wrapper{
            margin: 25px;
            border: 2.5px solid #18385f;
        }
    }
    
    .margin-lr-0 {
        margin-right: -15px !important;
        margin-left: -15px !important;
    }
    
    #stcFormv2,
    #bstcFormv2{
        .stc-header{
            gap: 0px !important;
        }
        .stc-contact-info{
            white-space: nowrap !important;
        }

        .web-retailer{
            display: none;
        }
        .print-retailer{
            display: block !important;
        }

        .stc-office-title{
            white-space: nowrap !important;
        }
        .stc-flex-row {
            gap: 2px 12px;
        }

        .stc-flex-field {
            max-width: none;
        }
        .stc-office-input,
        .stc-date-input{
            height: auto !important;
            min-width: 150px !important;
            white-space: break-spaces !important;
            word-break: break-word !important;
        }
        .stc-declaration-text p,
        .stc-declaration-text li {
            font-size: 11px !important;
        }
        .stc-declaration-text strong,
        .stc-declaration-text b {
            font-size: 13px !important;
        }
        .print-break,
        .print-break * {
            break-inside: avoid !important;
            page-break-inside: avoid !important;
        }
    }
    .print-break,
    .print-break * {
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    html, body {
        zoom: 0.90;
    }
    header, footer, .no-print {
        display: none !important;
    }

    /* Jobpack Image Gallery Print Styles - Moved from jobpack.blade.php - Savan D. */
    #downloadpage {
        padding: 0 !important;
        margin: 0 !important;
    }
    
    #downloadpage .mt-100 {
        margin-top: 15px !important;
    }
    
    #downloadpage .gallery {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 12px !important;
        padding: 8px 0 !important;
        margin-bottom: 12px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    
    #downloadpage .gallery-item {
        text-align: center !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    
    #downloadpage .gallery-image {
        width: 100% !important;
        height: auto !important;
        max-height: 220px !important;
        object-fit: contain !important;
        display: block !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
    }
    
    #downloadpage .modal-body h3.gallery-item {
        padding: 10px 0 5px !important;
        margin-top: 15px !important;
        margin-bottom: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #16365c !important;
        border-bottom: 2px solid #16365c !important;
        text-align: left !important;
        box-shadow: none !important;
        background: none !important;
    }
    
    #downloadpage .modal-body {
        padding: 0 !important;
    }
    
    #downloadpage .modal-content {
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }
    
    #downloadpage .modal-dialog {
        box-shadow: none !important;
        margin: 0 !important;
        padding: 0 !important;
        max-width: 100% !important;
    }
    
    #downloadpage .modal-header {
        border-bottom: none !important;
        box-shadow: none !important;
    }
    
    #downloadpage .modal-header h2 {
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    #downloadpage .modal-title {
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    #downloadpage #largeModal {
        border: none !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    #downloadpage #largeModal h2,
    #downloadpage #largeModal h3 {
        box-shadow: none !important;
        text-shadow: none !important;
        background: none !important;
    }
    
    #downloadpage #largeModal .modal-body {
        padding: 0 !important;
    }
    
    #downloadpage .submit_btn {
        display: none !important;
    }
    
    #downloadpage .logo-block {
        padding: 100px 0 150px !important;
    }
    
    #downloadpage .print-spacer {
        height: 10px !important;
    }

    #downloadpage{
        .textarea {
            overflow-x: hidden;
            overflow: hidden;
            height:100%;

        }
        table{
            border-collapse: collapse;
            width: 100%;
            /*border: 1px solid #000000;*/
        }
        body {
            padding-top: 20px;
            padding-bottom: 20px;
        }

        #downloadpage {
            padding: 0 !important;
            margin: 0 !important;
        }

        .mt-100 {
            margin-top: 15px !important;
        }

        .gallery {
            display: grid !important;
            grid-template-columns: repeat(4, 1fr) !important;
            gap: 12px !important;
            padding: 8px 0 !important;
            margin-bottom: 12px !important;
            box-sizing: border-box !important;
            width: 100% !important;
            -webkit-print-color-adjust: exact !important;
            print-color-adjust: exact !important;
        }
        .gallery-item {
            text-align: center !important;
            page-break-inside: avoid !important;
            break-inside: avoid !important;
            box-sizing: border-box !important;
            margin: 0 !important;
            padding: 0 !important;
            display: block !important;
        }
        .logo-block {
            text-align: center;
            padding: 350px 0 400px;
        }
        .gallery-image {
            width: 100% !important;
            height: auto !important;
            max-height: 220px !important;
            object-fit: contain !important;
            display: block !important;
            box-sizing: border-box !important;
            margin: 0 auto !important;
        }
        .modal-body h3.gallery-item {
            padding: 10px 0 5px !important;
            margin-top: 15px !important;
            margin-bottom: 10px !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            color: #16365c !important;
            border-bottom: 2px solid #16365c !important;
            text-align: left !important;
            box-shadow: none !important;
            background: none !important;
        }
        .modal-body {
            padding: 0 !important;
        }
        /* Remove modal border and shadow */
        .modal-content {
            border: none !important;
            box-shadow: none !important;
            background: transparent !important;
        }
        .modal-dialog {
            box-shadow: none !important;
            margin: 0 !important;
            padding: 0 !important;
            max-width: 100% !important;
        }
        .modal-header {
            border-bottom: none !important;
            box-shadow: none !important;
        }
        .modal-header h2 {
            box-shadow: none !important;
            text-shadow: none !important;
        }
        .modal-title {
            box-shadow: none !important;
            text-shadow: none !important;
        }
        #largeModal {
            border: none !important;
            box-shadow: none !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        #largeModal h2,
        #largeModal h3 {
            box-shadow: none !important;
            text-shadow: none !important;
            background: none !important;
        }
        #largeModal .modal-body {
            padding: 0 !important;
        }

        .submit_btn {
            display: none !important;
        }

        .logo-block {
            padding: 100px 0 150px !important;
        }

        .print-spacer {
            height: 10px !important;
        }

        tr { page-break-inside:avoid}
    }
}

@page {
  size: A4;
  margin: 9mm;
}

/* =============================================== */
/* STC Assignment Form - PV Solar Styles */
/* =============================================== */

/* Main Container */
.stc-form-container {
    background-color: #fff;
}

/* Header Section */
.stc-header {
    background-color: #1e3a5f;
    padding: 10px 20px;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 14px;
}

.stc-logo img {
    width: 250px;
    height: auto;
}

.stc-main-title {
    font-size: 22px;
    font-weight: 900;
    margin: 0 0 10px 0;
    white-space: nowrap;
}

.stc-subtitle {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 5px 0;
}

.stc-contact-info {
    font-size: 16px;
}

/* Office Use Only Section */
.stc-office-title {
    position: relative;
    bottom: 2px;
    transform: rotate(90deg);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}
.stc-office-heading {
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    text-align: end;
}
.stc-office-title {
    position: relative;
    bottom: 2px;
    transform: rotate(90deg);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.stc-office-label {
    font-size: 14px;
    white-space: nowrap;
    min-width: 80px;
    display: inline-block;
}

.stc-office-input {
    height: auto;
    font-size: 11px;
    padding: 0px 8px;
    border: 1px solid #1e3a5f;
    border-radius: 0;
    min-width: 150px !important;
}

.stc-date-input {
    height: 58px !important;
}

.form-id-input {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 5px;
}

.stc-office-section{
    display: flex;
    text-align: center;
}
.stc-office-details{
    position: relative;
    left: 70px;
}

/* Section Styles */
.stc-section-wrapper {
    padding: 0 15px 15px 15px;
}

.stc-section {
    border: 1px solid #162f52;
    border-radius: 14px;
    margin-top: 18px;
}

.stc-section .custom-padding,
.stc-declaration-row .stc-section-header {
    padding: 5px 20px;
}

.stc-section-header {
    background-color: #162f52;
    padding: 1px 15px 1px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 16px;
}

.stc-section-icon {
    width: 24px;
    height: 24px;
    color: white !important;
    margin-left: 5px;
}

.stc-section-title {
    font-size: 12px;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stc-section-body {
   padding: 7px 15px;
}

/* Field Styles */
.stc-field {
    margin-bottom: 0;
    display: flex;
    align-items: flex-end;
}

.stc-field-label {
    font-size: 11px;
    color: #232323;
    white-space: nowrap;
    margin-bottom: 4px !important;
}

.stc-field-input {
    border: none;
    border-bottom: 1px solid;
    border-color: #232323 !important;
    border-radius: 0 !important;
    padding: 4px 8px;
    box-shadow: none;
    font-size: 12px;
    height: 26px !important;
    margin-left: 12px;
    font-weight: 500 !important;
}

.stc-field-input:focus {
    outline: none !important;
    box-shadow: none !important;
    border-bottom: 2px solid #1e3a5f;
    background-color: transparent;
}

/* Important Label */
.stc-important-label {
    font-weight: 700;
}

/* Checkbox Styling */

.checkbox-padding {
    padding: 0 10px !important;
}
.stc-section-body .form-check {
    padding-top: 10px;
    display: flex;
    align-items: center;
}

.stc-section-body .form-check-input,
.stc-section-body .form-check-label,
.design-changed input[type="checkbox"]{
    pointer-events: none;
}


.stc-section-body .form-check-input {
    width: 16px;
    height: 16px;
    border: 1px solid #1e3a5f;
    border-radius: 2px;
    margin-top: 0 !important;
}

.stc-section-body .form-check-input:checked {
    background-color: #1e3a5f;
    border-color: #1e3a5f;
}

.stc-section-body .form-check-label {
    font-size: 10px;
    margin-left: 5px;
    margin-bottom: 0 !important;
}

.stc-component-row {
    width: 100%;
}

.stc-label-wrapper {
    margin-right: 20px;
}

.stc-component-label {
    font-size: 12px;
    font-weight: 600;
    font-style: italic;
    color: #162f52;
    white-space: nowrap;
}

/* System Component Details (reuse flex utilities) */
.stc-component-flex-row {
    width: 100%;
}

.stc-label-wrapper,
.stc-label-wrapper-details {
    flex-shrink: 0;
}

/* Inline Field Layout */
.stc-short-width-input {
    width: 60px;
    height: 20px !important;
}

.stc-inline-field {
    display: flex;
    align-items: center;
    gap: 8px;
}

.stc-inline-field .stc-field-label {
    white-space: nowrap;
    margin-bottom: 0;
    flex-shrink: 0;
}

.stc-full-width-input {
    flex: 1;
    min-width: 0;
}

/* Checkbox Note */
.stc-checkbox-note {
    font-size: 8px;
    color: #000000;
    font-style: italic;
    font-weight: 500;
    margin: 5px 0 0 0;
    line-height: 12px;
}

/* ================================================ */
/* Declaration & Written Statement Blocks */
/* ================================================ */
.stc-declaration-col-left {
    padding-right: 0 !important;
}

.stc-declaration-col-left .stc-section-header {
    border-radius: 16px !important;
}

.stc-declaration-col-left .stc-section {
    border-radius: 16px !important;
}

.stc-declaration-col-right {
    padding-left: 0 !important;
}

.stc-declaration-col-right .stc-section-header {
    border-radius: 16px !important;
}

.stc-declaration-col-right .stc-section {
    border-radius: 16px !important;
}

.stc-declaration-text {
    flex: 1;
    /* margin-bottom: 15px; */
}

.stc-declaration-text p {
    font-size: 10px;
    line-height: 14px;
    color: #232323;
    margin-bottom: 8px;
    text-align: justify;
}

.stc-declaration-text p:last-child {
    margin-bottom: 0;
}

.stc-blank-line {
    display: inline-block;
    width: 100px;
    border-bottom: 1px solid #1e3a5f;
    margin: 0 5px;
}

/* Declaration List */
.stc-declaration-list {
    margin: 8px 0;
    padding-left: 15px;
}

.stc-declaration-list li {
    font-size: 10px;
    line-height: 14px;
    color: #232323;
    margin-bottom: 4px;
}

/* Signature Section */
.stc-signature-section {
    padding-top: 12px;
    margin-top: auto;
}

.stc-signature-box {
    width: 100%;
    height: 60px;
    background: #d9d9d9;
    border-radius: 2px;
}

.stc-signature-fields {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.stc-signature-field {
    display: flex;
    align-items: center;
    gap: 8px;
}

.stc-signature-field label {
    font-size: 10px;
    font-weight: 500;
    color: #333;
    white-space: nowrap;
    margin-bottom: 0;
    min-width: 60px;
}

.stc-signature-input {
    border: none !important;
    border-bottom: 1px solid #1e3a5f !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 2px 4px !important;
    height: 22px !important;
    font-size: 10px !important;
    flex: 1;
    font-weight: 500 !important;
}

.stc-signature-input:focus {
    outline: none !important;
    box-shadow: none !important;
    border-bottom: 2px solid #1e3a5f !important;
}

.stc-signature-label-row {
    display: flex;
    flex-direction: column;
    margin-top: 5px;
}

.stc-signer-title {
    font-size: 10px;
    font-weight: 600;
    color: #232323;
}

/* Label Wrapper for component sections */
.stc-label-wrapper {
    min-width: 120px;
    padding-right: 10px;
}

.stc-label-wrapper-details {
    min-width: 70px;
    padding-right: 10px;
    margin-top: 3px
}

/* Short width input */
.stc-short-width-input {
    max-width: 80px !important;
}

/* Equal Height Declaration Blocks */
.stc-declaration-row {
    display: flex;
    flex-wrap: wrap;
}

.stc-declaration-row > * {
    display: flex;
}

.stc-declaration-row .stc-section {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.stc-declaration-row .stc-section-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.stc-declaration-row .stc-declaration-text {
    flex: 1;
}

.stc-declaration-row .stc-signature-section {
    margin-top: auto;
}

.story-type{
    margin-bottom: 4px;
    display: flex;
    justify-content: space-around;
}

.retailer-name{
    margin-right: 16.5px;
}

.installer-width{
    max-width: 90px !important;
}

.installer-title {
    padding-top: 12px !important;
}

/* ================================================ */
/* GST Declaration & Serial Numbers Sections */
/* ================================================ */

/* Verified Badge */
.stc-verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #28a745;
    font-size: 11px;
    font-weight: 500;
    background-color: #e8faf0;
    padding: 3px 6px;
    border-radius: 5px;
}
.stc-non-verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #dc3545;
    font-size: 11px;
    font-weight: 500;
    background-color: #fdecea;
    padding: 3px 6px;
    border-radius: 5px;
}

.stc-verified-badge i {
    font-size: 14px;
}

/* Download Section */
.stc-download-section {
    display: flex;
    justify-content: center;
    padding: 25px 0;
    margin-top: 15px;
}

.design-changed{
    display: flex;
    gap: 5px;
    align-items: flex-start;
}
.design-changed p:last-child{
    margin-bottom: 8px;
}

.stc-flex-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px; /* row-gap | column-gap */
    width: 100%;
}

.stc-flex-field {
    flex: 1 1 180px; /* min width per field */
    max-width: 250px;
}

.stc-flex-field.address {
    flex: 2 1 320px; /* wider for address */
}

/* Flex helpers for Installation Details (Row 2) */
.stc-flex-field--xxs {
    flex: 1 1 6px;
    max-width: 150px;
}

.stc-flex-field--sxs {
    flex: 1 1 6px;
    max-width: 150px;
}

.stc-flex-field--xss {
    flex: 1 1 50px;
    max-width: 150px;
}

.stc-flex-field--xs {
    flex: 1 1 120px;
    max-width: 160px;
}

.stc-flex-field--sm {
    flex: 1 1 160px;
    max-width: 220px;
}

.stc-flex-field--ssm {
    flex: 1 1 160px;
    max-width: 220px;
}

.stc-flex-field--md {
    flex: 1 1 220px;
    max-width: 320px;
}

.stc-flex-field--ml {
    flex: 1 1 220px;
    max-width: 320px;
}

.stc-flex-field--lg {
    flex: 2 1 280px;
    max-width: 380px;
}

.stc-flex-field--sxl{
    flex: 2 1 200px !important;
    max-width: none !important;
}

.stc-flex-field--ssxl{
    flex: 2 1 200px !important;
    max-width: none !important;
}

.stc-flex-field--xl {
    flex: 2 1 420px;
    max-width: none;
}

.stc-flex-field--xll {
    flex: 2 1 420px;
    max-width: none;
}

.stc-flex-field--xxl {
    flex: 3 1 520px;
    max-width: none;
}

.installation-date-field{
    margin-right: 5px;
}
/* Long-value safe rendering (div-based values like Office Use Only) */
.stc-field-value {
    height: auto !important;
    min-height: 30px !important;
}

/* Allow flex items to shrink so wrapping works */
.stc-flex-row > .stc-field,
.stc-flex-row > .stc-flex-field {
    min-width: 0;
}

.stc-installation-details{
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

@media print {
    #stcFormv2,
    #bstcFormv2{
        /* Print-tight layout: reduce widening + whitespace */

        .stc-section-body{
            padding: 10px !important;
        }

        .proptype-field{
            margin-top: 12px !important;
        }

        .retail-sign{
            margin-bottom: 12px !important;
        }

        .stc-field-label{
            font-size: 11px !important;
        }

        .stc-field-input{
            padding: 3px 6px !important;
            margin-left: 6px !important;
            font-size: 12px !important;
        }

        /* Prevent flex fields from stretching too wide on print */
        .stc-flex-field{
            flex: 0 1 170px !important;
            max-width: 80px !important;
        }

        .stc-flex-field--xxs{
            flex: 0 1 40px !important;
            max-width: 100px !important;
        }

        .stc-flex-field--sxs{
            flex: 0 1 100px !important;
            max-width: 100px !important;
        }

        .stc-flex-field--xss {
            flex: 0 1 86px !important;
            max-width: 100px !important;
        }

        .stc-flex-field--xs{
            flex: 0 1 110px !important;
            max-width: 150px !important;
        }

        .stc-flex-field--sm{
            flex: 0 1 140px !important;
            max-width: 200px !important;
        }

        .stc-flex-field--ssm{
            flex: 0 1 139px !important;
            max-width: 260px !important;
        }

        .stc-flex-field--md{
            flex: 0 1 180px !important;
            max-width: 260px !important;
        }

        .stc-flex-field--ml{
            flex: 1 1 220px !important;
            max-width: 320px !important;
        }

        .stc-flex-field--lg{
            flex: 1 1 220px !important;
            max-width: 320px !important;
        }

        .stc-flex-field--ssxl{
            flex: 1 1 220px !important;
            max-width: none !important;
        }

        .stc-flex-field--sxl{
            flex: 1 1 280px !important;
            max-width: none !important;
        }

        .stc-flex-field--xl{
            flex: 1 1 280px !important;
            max-width: none !important;
        }

        .stc-flex-field--xll{
            flex: 2 1 360px !important;
            max-width: none !important;
        }

        .stc-flex-field--xxl{
            flex: 2 1 360px !important;
            max-width: none !important;
        }

        .stc-flex-field.address{
            flex: 1 1 260px !important;
        }

        .stc-field-value{
            height: auto !important;
            min-height: 22px !important;
            line-height: 13px !important;
        }

        /* Declarations: stack full-width in print (flex-based) */
        .stc-declaration-row > .stc-flex-field{
            flex: 1 1 100% !important;
            max-width: none !important;
        }

        .stc-declaration-col-left{
            padding-right: 0 !important;
        }

        .stc-declaration-col-right{
            padding-left: 0 !important;
        }

        .stc-declaration-col-left .stc-section-header,
        .stc-declaration-col-right .stc-section-header{
            border-radius: 16px !important;
        }

        .stc-declaration-col-left .stc-section,
        .stc-declaration-col-right .stc-section{
            border-radius: 14px !important;
            border-right: 1px solid #162f52 !important;
        }

        .stc-installer-signatures{
            display: flex !important;
            gap: 8px !important;
            flex-wrap: nowrap !important;
        }

        .stc-installer-signatures > .stc-flex-row{
            flex: 1 1 0 !important;
            min-width: 0 !important;
            flex-wrap: nowrap !important;
            gap: 6px 8px !important;
        }

        .stc-installer-signatures > .mb-2{
            margin-bottom: 0 !important;
        }
        
        .stc-flex-row{
            gap: 3px 5px !important;
        }

        .story-type{
            margin-bottom: 4.5px;
            margin-right: 21px !important;
            gap: 5px !important;
        }

        .retailer-name{
            margin-right: 14px;
        }
        .installer-width{
            max-width: 85px !important;
        }
        .installer-title{
            padding-top: 5px !important;
        }
        .installation-date-field{
            margin-right: 40px;
        }
        .margin-l-5 {
            margin-left: 4px !important;
        }
        .installer-changed{
            flex: 0.5 1 400px !important;
        }
        .existing-pv-install{
            max-width: 460px !important;
        }
    }
}

/* Job Pack CSS - Savan D. */
#downloadpage{

    .text-center{
        text-align: center;
    }
    .btn-primary:hover {
        background: #ff0000;
    }

    .btn{
        line-height: 22px;
        padding: 3px 45px;
        background-color: #18385f;
        font-size: 11px;
        height: 27px;
        outline: none !important;
        border: none;
        font-weight: 500;
        color: #fff;
        cursor: pointer;
        border-radius: 4px;
    }
    .textarea {
        outline-color: transparent;
        outline-width: 0px;
        background-color: #ffffff;
        border: transparent;
        width: 95.5%;
        resize:none;
        overflow-x: hidden;
        font-size: 10px;
    }
    .textbox input[type="text"] {
        background-color: #ffffff;
        border: transparent;
        width: 97.5%;
        font-size: 10px;
        font-weight: 400;
    }
    .textbox input:focus-visible {
        outline-color: transparent;
        outline-width: 0px;
    }
    .img-border img{
        border: 1px solid transparent;
    }
    .img-border img:focus-visible{
        outline-color: transparent;
        outline-width: 0px;
        border: 1px solid transparent;
    }
    .bg_blue{
        background-color: #16365c;
        color: #ffffff;
        -webkit-print-color-adjust: exact; 
    }
    .bg_light_gray{
        background-color: #f2f2f2;
        text-align: left;
        -webkit-print-color-adjust: exact;
    }
    .color-red{
        color: red;
    }
    .border{
        border: 1px solid #141414;
    }
    .center{
        text-align: center;
    }
    .submit_btn{
        margin: 40px 0;
    }
    .text-w5{
        font-weight: 500;
    }
    .gallery {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 15px;
        padding: 10px 0;
        margin-bottom: 20px;
        box-sizing: border-box;
        width: 100%;
    }
    .gallery-item {
        text-align: center;
        page-break-inside: avoid;
        break-inside: avoid;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        display: block;
    }
    .logo-block {
        text-align: center;
        padding: 350px 0 400px;
    }
    .gallery-image {
        width: 100%;
        height: auto;
        object-fit: contain ;
        display: block;
        box-sizing: border-box;
        margin: 0 auto;
    }
    .modal-body h3.gallery-item {
        padding: 15px 0 5px;
        margin-top: 25px;
        font-size: 14px;
        font-weight: 600;
        color: #16365c;
        border-bottom: 2px solid #16365c;
        text-align: left;
        box-shadow: none !important;
        background: none !important;
    }
    /* Remove modal border and shadow */
    .modal-content {
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }
    .modal-dialog {
        box-shadow: none !important;
    }
    .modal-header {
        border-bottom: none !important;
        box-shadow: none !important;
    }
    .modal-header h2 {
        box-shadow: none !important;
        text-shadow: none !important;
    }
    .modal-title {
        box-shadow: none !important;
        text-shadow: none !important;
    }
    #largeModal {
        border: none !important;
        box-shadow: none !important;
    }
    #largeModal h2,
    #largeModal h3 {
        box-shadow: none !important;
        text-shadow: none !important;
        background: none !important;
    }
}

/* ========================================
   Quotation Form Styles - Mahima
   ======================================== */

/* Main Container */

.quotation-header {
    background-color: #2c2c5e;
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 16px 16px 0 0;
}

.quotation-title {
    font-size: 28px;
    font-weight: 400;
    color: #fff;
    margin: 0;
}

.quotation-field {
    display: flex;
    align-items: center;
    background-color: #fff;
    border-radius: 5px;
    min-width: 180px;
    border: 1px solid #2c2c5e;
    position: relative;
}

.quotation-field.filled {
    background-color: #ebedf4;
}

.quotation-field .label-badge {
    font-size: 12px;
    font-weight: 500;
    color: #070808;
    margin-right: 8px;
    border: 1px solid #2c2c5e;
    border-radius: 5px;
    padding: 6px 12px;
    position: absolute;
    left: -1px;
    top: -1px;
    bottom: -1px;
    display: flex;
    align-items: center;
    background-color: #ffffff;
}

.quotation-field .label-badge.right-badge {
    left: auto;
    right: -1px;
    margin-right: 0;
}

.quotation-field .form-control ,
.quotation-field .form-control:focus {
    border: none;
    background: transparent;
    font-size: 13px;
    padding: 0;
    height: auto;
    box-shadow: none !important;
    flex: 1;
    padding-left: 80px;
}

.quotation-field:focus {
    outline: none !important;
    box-shadow: none !important;
}

.quotation-section {
    background-color: white;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    padding: 25px 20px;
    border-radius: 16px;
}

.section-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.section-header:has(.left-header) {
    justify-content: space-between;
}

.left-header {
    display: flex;
    align-items: center;
    gap: 15px;
}

.right-header {
    display: flex;
    align-items: center;
    gap: 15px;
}

.section-title {
    font-size: 16px;
    font-weight: 500;
    color: #000000;
    margin: 0 0 15px 0;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.pd-0 {
    padding: 0 !important;
}

.quotation-label {
    color: #737a85;
    margin-bottom: 6px;
}

.quotation-label .text-danger {
    color: #d9534f !important;
}

.quotation-section .form-group {
    margin-bottom: 25px;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .quotation-header {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .quotation-title {
        font-size: 22px;
    }

    .quotation-field {
        width: 100%;
        justify-content: center;
    }

    .quotation-content {
        padding: 15px;
    }

    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* Phone Code Select Dropdown */

.phone-code-select {
    width: 20%;
    max-width: 85px;
    border-right: none;
    border-radius: 6px 0 0 6px !important;
    font-size: 14px;
    padding: 8px 10px;
    cursor: pointer;
}

.phone-code-select:focus {
    border-color: #d2d5dab8 !important;
    box-shadow: none !important;
    outline: none;
}

.phone-input-group .quotation-input {
    border-radius: 0 6px 6px 0 !important;
    border-left: none;
}

.phone-input-group .quotation-input:focus {
    border-radius: 6px !important;
    border-left: 1px solid #000000 !important;
}

@media (max-width: 768px) {
    .phone-input-group {
        flex-direction: column;
    }

    .phone-code-select {
        max-width: 100%;
        border-radius: 6px 6px 0 0 !important;
        border-right: 1px solid #e0e0e0;
        border-bottom: none;
    }

    .phone-input-group .quotation-input {
        border-radius: 0 0 6px 6px !important;
        border-left: 1px solid #e0e0e0;
    }
}

/* ========================================
   Quotation Pricing Table Styles - Mahima
   ======================================== */

.quotation-table {
    margin-bottom: 0;
}

.quotation-table thead tr {
    border-bottom: 1px solid #e8e8e8;
}

.quotation-table thead th {
    font-size: 14px;
    font-weight: 500;
    color: #505458;
    text-transform: uppercase;
    padding: 12px 15px;
    border-bottom: 1px solid #e8e8e8 !important;
    border-top: none;
    background-color: #fafafa;
    white-space: nowrap;
}

.quotation-th-check {
    width: 40px;
}

.quotation-checkbox {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.quotation-table tbody td {
    font-size: 14px;
    color: #535862;
    padding: 12px 15px;
    border-top: none !important;
    border-bottom: none !important;
    vertical-align: middle;
}

.quotation-table tbody tr:last-child td {
    border-bottom: none !important;
}

.quotation-content .ref-id{
    top: 0 !important;
}

/* Customer Quotation Tabs - Harsh P. */
#customerQuotationTabs {
    background: #fff;
    border: 1px solid #e3e8f0;
    border-radius: 14px;
    padding: 12px 16px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(24,56,95,0.07);
}

#customerQuotationTabs .cq-strip {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

#customerQuotationTabs .cq-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 600;
    color: #18385f;
    background: #f0f4fa;
    border: 1px solid transparent;
    text-decoration: none;
    transition: background .15s, box-shadow .15s;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.4;
}

#customerQuotationTabs .cq-tab:hover {
    background: #dce6f5;
    text-decoration: none;
    color: #18385f;
}

#customerQuotationTabs .cq-tab.active {
    background: #18385f;
    color: #fff;
    box-shadow: 0 2px 8px rgba(24,56,95,0.18);
}

#customerQuotationTabs .cq-tab.cq-tab-new {
    background: #edfbf3;
    color: #1a9e50;
    border-color: #b6ecd0;
}

#customerQuotationTabs .cq-tab.cq-tab-new:hover {
    background: #c9f2dc;
}

#customerQuotationTabs .cq-tab .cq-ref {
    opacity: .55;
    font-size: 11px;
    font-weight: 400;
}

#customerQuotationTabs .cq-tab .cq-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 20px;
    letter-spacing: .2px;
}

#customerQuotationTabs .cq-tab.active .cq-badge {
    background: rgba(255,255,255,.2) !important;
    color: #fff !important;
}

#customerQuotationTabs .material-symbols-outlined {
    font-size: 15px;
    line-height: 1;
}

@media (max-width: 576px) {
    #customerQuotationTabs .cq-tab .cq-ref,
    #customerQuotationTabs .cq-tab .cq-badge { display: none; }
}


/* ── Quotation index - Harsh P. ── */
.quotation-container .status-badge.badge-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #17a2b8;
}
.quotation-container .status-badge.badge-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #28a745;
}
.quotation-container .status-badge.badge-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #dc3545;
}
.quotation-container .status-badge.badge-secondary {
    color: #383d41;
    background-color: #e2e3e5;
    border-color: #6c757d;
}

/* ── sub-row for older quotations - Harsh P. ── */
.quotation-container .sub-row > td {
    border-top: 2px solid #18385f !important;
    background-color: #f8fafc;
}
.quotation-container .sub-row table td {
    vertical-align: middle;
    color: #374151;
}

/* ── Older quotation cards (like battery/inverter cards) - Harsh P. ── */
.quot-older-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    padding: 10px 0 16px 0;
}
.quot-older-card {
    width: 240px;
    min-width: 240px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07),
                0 1px 3px rgba(0, 0, 0, 0.06),
                0 2px 8px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.quot-older-card:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12),
                0 4px 8px rgba(0, 0, 0, 0.08),
                0 0 0 1px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px);
}
.quot-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 6px;
    padding: 10px 10px 8px 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    border-radius: 10px 10px 0 0;
}
.quot-card-head-left {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.quot-card-ref {
    font-size: 10px !important;
    white-space: nowrap;
    align-self: flex-start;
    display: inline-block;
}
.quot-card-ref:hover,
.quot-card-ref:active,
.quot-card-ref:focus {
    color: #fff !important;
    text-decoration: none !important;
    background-color: #18385f !important;
}
.quot-card-status, .quot-badge {
    font-size: 10px !important;
    padding: 2px 7px !important;
    top: 0 !important;
    font-weight: 500;
    border: 1.5px solid;
    border-radius: 24px;
    position: relative;
}
.quot-card-status { width: fit-content; }
.quot-badge { vertical-align: middle; white-space: nowrap; }
.quot-card-date {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    color: #9ca3af;
    margin-top: 2px;
}
.quot-card-meta {
    display: flex;
    align-items: center;
    gap: 5px;
    /* flex-wrap: wrap; */
    margin-top: 4px;
}
.quot-card-meta .quot-card-date { margin-top: 0; }
.quot-card-date .material-symbols-outlined { font-size: 11px; }
.quot-card-edit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    height: 28px;
    min-width: 28px;
    padding: 0 8px;
    border: 1.5px solid #18385f;
    border-radius: 6px;
    color: #18385f;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s;
}
.quot-card-edit-icon .material-symbols-outlined { font-size: 15px; }
.quot-card-edit-icon:hover {
    background: #18385f;
    color: #fff !important;
    text-decoration: none !important;
}
.quot-card-edit-icon:focus,
.quotation-container .action-btn-primary:focus {
    background: #18385f;
    color: #fff !important;
    text-decoration: none !important;
    outline: none;
}
#quotationTable .action-btn {
    padding: 6px 14px;
    font-size: 13px;
    min-height: 32px;
    gap: 5px;
    width: fit-content;
}
#quotationTable .action-btn .material-symbols-outlined {
    font-size: 16px;
}
.quot-card-body {
    padding: 8px 12px 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}
.quot-card-row {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 12px;
    line-height: 1.5;
}
.quot-card-label {
    flex-shrink: 0;
    width: 52px;
    font-size: 10px;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.quot-card-value { color: #1f2937; flex: 1; }
.quot-financials {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}
/* Suppress the global .sub-row td border-top; show only when expanded - Harsh P. */
#quotationTable .sub-row td {
    border-top: none !important;
}
#quotationTable .sub-row.quot-expanded td {
    border-top: 1.5px solid #18385f !important;
}
.quot-sub-td {
    padding: 0 !important;
    background: #f4f6f9 !important;
    overflow: hidden;
}
.quot-sub-inner {
    max-height: 0;
    overflow: hidden;
    padding: 0 16px 0 50px;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.quot-older-label {
    font-size: 11px;
    font-weight: 600;
    color: #18385f;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 4px;
}
.quot-older-card .pvd-badge {
    color: #5A35CC;
    background-color: #F3EFFF;
    border: 1.5px solid #7C4DFF;
    border-radius: 24px;
}
.quot-older-card .battery-badge {
    color: #008DB2;
    background-color: #E6FAFF;
    border: 1.5px solid #00C4FF;
    border-radius: 24px;
}

/* ── Quotation table: utility classes replacing inline styles ── */
#quotationTable .quot-th-check { width: 50px; }
#quotationTable .quot-td-check { vertical-align: baseline; }
#quotationTable .quot-expand-icon {
    cursor: pointer;
    vertical-align: middle;
    font-size: 25px;
    color: #18385f;
    display: block;
    margin-top: 4px;
}
#quotationTable .quot-cust-email { font-size: 12px; color: #6b7280; }
#quotationTable .cust-info { margin-top: 5px; }
#quotationTable .quot-count-badge {
    display: inline-block;
    margin-top: 4px;
    background-color: #e8f0fa;
    color: #18385f;
    border: 1px solid #18385f;
    font-size: 10px;
    border-radius: 12px;
    padding: 2px 8px;
}
#quotationTable .quot-addr-td {
    max-width: 220px;
    white-space: normal;
    font-size: 12px;
}
#quotationTable .quot-install-date {
    margin-top: 4px;
    color: #6b7280;
    font-size: 12px;
}
#quotationTable .quot-system-td .quot-kw {
    font-weight: 700;
}
#quotationTable .quot-system-td .status-column {
    margin-top: 4px;
}
#quotationTable .quot-product-detail {
    font-size: 12px;
    margin-top: 3px;
    color: #374151;
}
#quotationTable .quot-amount-td {
    min-width: 160px;
}
#quotationTable .quot-amount-line {
    font-size: 13px;
    margin-top: 3px;
    color: #374151;
}
#quotationTable .quot-amount-line strong {
    font-weight: 600;
    color: #111827;
}
#quotationTable .quot-no-status {
    color: #9ca3af;
}
#quotationTable .quot-prod-badge {
    display: block;
    margin-top: 10px;
}
#quotationTable .quot-empty-cell {
     text-align: center;
     padding: 40px;
     color: #9ca3af;
}
#quotationTable .quot-empty-icon {
     font-size: 48px;
     display: block;
     margin-bottom: 8px;
}
.quot-pagination-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}
.quot-per-page-select { width: auto; }

.quotation-created-by-field {
    background-color: #fff !important;
    color: #333 !important;
}

/* ========================================
   Role Permission Table Styles - Harsh P.
   ======================================== */

.role-permission-table-header {
  margin-bottom: 0;
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}

.role-permission-table-header-cell {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  padding: 12px;
  position: relative;
}

.role-permission-table-header-cell.text-center {
  text-align: center;
}

.role-permission-table-scroll-container {
  height: 350px;
  overflow-y: auto;
  border: 1px solid #dee2e6;
  border-top: none;
}

.role-permission-table-body {
  margin-bottom: 0;
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}

.role-permission-table-body-cell {
  border: 1px solid #dee2e6;
  padding: 12px;
}

.role-permission-table-body-cell.text-center {
  text-align: center;
}

.roles-scroll-container::-webkit-scrollbar,
.roles-scroll-container-company::-webkit-scrollbar {
    display: none;
}

/* ===== Permission Section Styles (from edit.blade.php) ===== */
.permission-access-title {
    font-weight: 600;
}
.permission-mode-label {
    white-space: nowrap;
    font-weight: 600;
    margin-bottom: 8px;
}
.permission-mode-btn {
    font-weight: 600;
}
.custom-permissions-section.d-none {
    display: none;
}
.custom-permissions-header {
    gap: 12px;
}
.custom-permissions-title {
    font-weight: 600;
}
.custom-permissions-module {
    font-weight: 600;
}

/* ========================================
   Quotation PDF Print Media - Mahima
   ======================================== */

#quotationContainer {
    padding: 16px;
    background: #fff;
}

.qpdf-header {
    background-color: #1e3557;
    padding: 10px 14px;
    border-radius: 10px 10px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.qpdf-header-title {
    color: #ffffff;
    font-size: 32px;
    font-weight: 600;
}

.qpdf-logo-img {
    height: 48px;
    width: auto;
    display: block;
}

.qpdf-date-box {
    background: #fff;
    border-radius: 50px;
    padding: 6px 18px;
    display: flex;
    align-items: center;
    width: 250px;
    margin-right: 6px;
}

.qpdf-date-label {
    font-weight: 700;
    font-size: 14px;
    color: #1e3557;
    white-space: nowrap;
    margin-right: 8px;
}

.qpdf-date-line {
    flex: 1;
    border-bottom: 2px solid #000;
    display: inline-block;
    height: 18px;
}

.qpdf-body {
    margin-top: 26px;
}

.qpdf-section {
    margin-bottom: 25px;
}

.qpdf-section-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #1e3557;
    border-radius: 50px;
    padding: 3px;
    margin-bottom: 0;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    /* width: 85%; */
}

.qpdf-section-bar-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.qpdf-bar-icon {
    border-radius: 50%;
    width: 28px;
    height: 28px;
    color: white;
}

.qpdf-bar-title {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.5px;
    padding-right: 12px;
}

.qpdf-section-bar-right {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 4px;
}

.qpdf-refno-label {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.qpdf-refno-box {
    background: #fff;
    border-radius: 50px;
    display: inline-block;
    width: 180px;
    height: 26px;
    padding: 3px 10px;
}

.qpdf-section-card {
    border: 1px solid #a8d8ff;
    border-radius: 12px;
    background: #fff;
    padding: 18px 20px 0px 20px;
}

.qpdf-section-card-title {
    font-size: 18px;
    font-weight: 600;
    color: #505458;
    margin: 10px 0 12px 0;
    display: inline-block;
}

#quotationContainer .qpdf-row {
    margin-bottom: 20px;
}

#quotationContainer .qpdf-row-last {
    margin-bottom: 0;
}

.qpdf-field-wrap {
    display: flex;
    align-items: flex-end;
    gap: 4px;
}

.qpdf-field-label {
    font-size: 13.5px;
    font-weight: 700;
    color: #000000;
    white-space: nowrap;
    line-height: 1;
    padding-bottom: 2px;
}

.qpdf-line {
    flex: 1;
    border-bottom: 1px solid #000000;
    display: inline-block;
    height: 20px;
    padding: 0 0 5px 5px;
    margin-left: 5px;
}

.notes-section .qpdf-line.qpdf-textarea {
    height: 80px;
    border: 1px solid #000000;
    border-radius: 8px;
}

.notes-section .qpdf-field-wrap {
    align-items: flex-start;
}

.qpdf-actions {
    text-align: center;
    margin-top: 20px;
    padding-bottom: 16px;
}

.qpdf-table-wrapper {
    margin: 20px 0;
    border-radius: 12px;
    border: 1px solid #a8d8ff;
    background-color: #fff;
    overflow: hidden;
    page-break-inside: avoid;
}

.qpdf-summary-table {
    width: 100%;
    border-collapse: collapse;
}

.qpdf-summary-table th {
    background-color: #172a46;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    padding: 10px;
    border-right: 1px solid #ffffff;
}

.qpdf-summary-table th:first-child {
    border-top-left-radius: 12px;
}
.qpdf-summary-table th:last-child {
    border-right: none;
    border-top-right-radius: 12px;
}

.qpdf-summary-table td {
    height: 38px;
    border-right: 1px solid #a8d8ff;
    background-color: #ffffff;
    padding: 10px;
}

.qpdf-summary-table td:last-child {
    border-right: none;
}

.qpdf-payment-table {
    width: 100%;
    border-collapse: collapse;
}

.qpdf-payment-table th {
    background-color: #172a46;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    padding: 10px 20px;
    border-right: 1px solid #ffffff;
}

.qpdf-payment-table th:last-child {
    border-right: none;
}

.qpdf-payment-table th:first-child {
    border-top-left-radius: 12px;
}
.qpdf-payment-table th:last-child {
    border-top-right-radius: 12px;
    padding-left: 10px;
}

.qpdf-payment-table .deposit-flex {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
}

.qpdf-payment-table td {
    padding: 15px 15px;
    font-size: 12px;
    color: #000000;
    line-height: 1.5;
    vertical-align: top;
    border-right: 1px solid #a8d8ff;
    background-color: #ffffff;
    width: 33.33%;
}

.qpdf-payment-table td strong {
    font-size: 12px;
    font-weight: 700;
    display: block;
    margin-bottom: 2px;
}

.qpdf-payment-table td:last-child {
    border-right: none;
}

.qpdf-terms {
    margin: 15px 0 50px 0;
    page-break-before: always;
}

.qpdf-terms-text {
    margin-bottom: 12px;
}

.qpdf-signatures {
    margin-bottom: 40px;
}

.qpdf-sig-line {
    border-bottom: 1px dotted #a0a0a0;
    margin: 0 auto 10px auto;
    width: 90%;
}

.qpdf-footer-section {
    margin: 50px 0 20px 0;
    padding-top: 20px;
}

.qpdf-thankyou {
    font-size: 36px;
    color: #172a46;
    font-weight: 700;
    margin-bottom: 8px;
    font-family: "Times New Roman", Times, serif;
    letter-spacing: 0.5px;
}

.qpdf-company-info.qpdf-company-name {
    margin-bottom: 8px;
    font-weight: 600;
}

.qpdf-company-info {
    font-size: 12px;
    color: #000;
    margin-bottom: 0;
}

.qpdf-footer-logo-wrap {
    display: inline-block;
}

.qpdf-footer-img {
    max-width: 140px;
    width: 140px;
    height: auto;
}

/* Detailed Terms (Bottom of PDF) */
.qpdf-detailed-terms {
    margin-top: 30px;
    margin-bottom: 20px;
}

.qpdf-detailed-terms-title {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    text-transform: uppercase;
    margin-bottom: 15px;
}

/* ========================================
   @media print — Quotation PDF
   ======================================== */
@media print {
    body {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    #quotationContainer {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .qpdf-header {
        background-color: #1e3557 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .qpdf-section-bar {
        background-color: #1e3557 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .qpdf-bar-icon {
        background: #fff !important;
        color: #1e3557 !important;
    }

    .qpdf-bar-title,
    .qpdf-refno-label {
        color: #fff !important;
    }

    .qpdf-refno-box {
        background: #fff !important;
    }

    .qpdf-date-box {
        background: #fff !important;
    }

    .qpdf-line {
        border-bottom: 1px solid #111 !important;
        -webkit-text-stroke: 0.6px black;
        font-size: 12px !important;
    }

    .qpdf-field-label{
        font-size: 10px !important;
        -webkit-text-stroke: 0.08px black;
    }

    .qpdf-section-card {
        border-color: #a8d8ff !important;
        background: #fff !important;
    }

    .qpdf-section-card-title {
        color: #505458 !important;
    }

    .qpdf-table-wrapper {
        border: 1px solid #a8d8ff !important;
    }

    .qpdf-summary-table th,
    .qpdf-payment-table th {
        background-color: #172a46 !important;
        color: #ffffff !important;
    }

    .qpdf-summary-table td,
    .qpdf-payment-table td {
        border-right: 1px solid #a8d8ff !important;
        background-color: #ffffff !important;
    }

    .qpdf-dot {
        background: #fff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .qpdf-actions,
    .d-print-none {
        display: none !important;
    }
}


.stc-tracker-action-col { width: 100px; }
.stc-tracker-action-col .action-btn { width: auto; display: inline-flex; }

/* =============================================== */
/* STC Tracker Index Page - Harsh P.               */
/* =============================================== */

#stcTrackerPage #stcTrackerFilterForm .job-details-save { gap: 10px; }
#stcTrackerPage .stc-btn-icon { margin-right: 5px; }
#stcTrackerPage .stc-hidden { display: none; }
#stcTrackerPage .stc-header-action-col {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#stcTrackerTable {
    margin-bottom: 0;
    table-layout: fixed;
    width: 100%;
}
#stcTrackerTable tbody td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#stcTrackerTable tbody td.stc-td-rec-id { font-weight: 600; }

#stcTrackerPage .stc-edit-btn .material-symbols-outlined { font-size: 14px; }

#stcTrackerPage .stc-empty-icon {
    font-size: 48px;
    color: #ccc;
    display: block;
    margin-bottom: 8px;
}

#stcTrackerPage #stc_length_select_footer { width: auto; }

#stcTrackerPage .stc-tracker-footer { margin-top: 20px; }

/* REC Status badges */
#stcTrackerPage .status-column .status-badge {
    top: 0;
}
/* Approved = green, Rejected = red, Applied = blue */
#stcTrackerPage .status-badge-v2 .badge-completed {
    background-color: #ECFEFE;
    color: #128007;
    border-color: #128007;
}
#stcTrackerPage .status-badge-v2 .badge-parked {
    background-color: #FEF2F2;
    color: #c0392b;
    border-color: #c0392b;
}
#stcEditModal .stc-required-star { color: #e53935; }
#stcEditModal .stc-edit-card .form-group:last-child { margin-bottom: 0; }
#stcEditModal .stc-alert-icon { margin-top: 1px; flex-shrink: 0; }

/* =============================================== */
/* STC Tracker Edit Modal - Harsh P.               */
/* =============================================== */

#stcEditModal { 
    text-align: center;
}
#stcEditModal:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -4px;
}

#stcEditModal .modal-dialog {
    display: inline-block;
    text-align: left;
    vertical-align: middle;
    width: 95%;
    max-width: 680px;
    margin: 0 auto;
}

#stcEditModal .modal-content {
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0,0,0,0.18);
}

/* ── Header ── */
#stcEditModal .stc-modal-header {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 26px 32px;
    background: linear-gradient(135deg, #18385f 0%, #1f5289 100%);
    color: #fff;
    position: relative;
}
#stcEditModal .stc-modal-header:after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #2e8bc0, #22924a, #2e8bc0);
}
#stcEditModal .stc-header-left {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    gap: 14px;
}
#stcEditModal .stc-header-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    background: rgba(255,255,255,0.14);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    font-size: 22px;
    color: #fff;
    flex-shrink: 0;
}
#stcEditModal .stc-header-title {
    font-weight: 700;
    font-size: 20px;
    margin: 0;
    color: #fff;
    letter-spacing: 0.2px;
}
#stcEditModal .stc-header-subtitle {
    font-size: 14px;
    margin: 4px 0 0;
    opacity: 0.7;
    color: #fff;
    font-weight: 400;
}
#stcEditModal .stc-close-btn {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    -webkit-transition: background 0.2s;
    transition: background 0.2s;
    flex-shrink: 0;
    padding: 0;
}
#stcEditModal .stc-close-btn:hover { background: rgba(255,255,255,0.22); }

/* ── Body ── */
#stcEditModal .modal-body {
    padding: 28px 32px 24px;
    background: #f5f7fa;
}

/* ── Info card ── */
#stcEditModal .stc-info-card {
    background: #fff;
    border: 1.5px solid #e2e6ee;
    border-radius: 12px;
    padding: 16px 18px 8px;
    margin-bottom: 14px;
}
#stcEditModal .stc-info-grid {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0;
}
#stcEditModal .stc-info-cell {
    width: 50%;
    padding-right: 12px;
    padding-bottom: 10px;
    box-sizing: border-box;
}
#stcEditModal .stc-info-cell.full { width: 100%; }
#stcEditModal .stc-info-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #8b919e;
    margin-bottom: 3px;
}
#stcEditModal .stc-info-value {
    font-size: 16px;
    font-weight: 700;
    color: #1a1e2c;
    line-height: 1.3;
}

/* ── Divider ── */
#stcEditModal .stc-divider {
    position: relative;
    text-align: center;
    margin: 2px 0 14px;
}
#stcEditModal .stc-divider:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0; right: 0;
    height: 1px;
    background: #dde2ea;
}
#stcEditModal .stc-divider span {
    position: relative;
    display: inline-block;
    background: #f5f7fa;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 700;
    color: #8b919e;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ── Edit card ── */
#stcEditModal .stc-edit-card {
    background: #fff;
    border: 1.5px solid #e2e6ee;
    border-radius: 12px;
    padding: 18px 18px 14px;
}
#stcEditModal .stc-field-label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #5a6273;
    margin-bottom: 8px;
    display: block;
}
#stcEditModal .form-control {
    border: 1.5px solid #e2e6ee;
    border-radius: 8px;
    font-size: 15px;
    padding: 10px 14px;
    height: auto;
    background: #fff;
    color: #1a1e2c;
    box-shadow: none;
    width: 100%;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-transition: border-color 0.2s, box-shadow 0.2s;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#stcEditModal select.form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a6273' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 34px;
}
#stcEditModal .form-control:focus,
#stcEditModal select.form-control:focus {
    border-color: #18385f;
    box-shadow: 0 0 0 3px rgba(24,56,95,0.1);
    outline: none;
}
#stcEditModal textarea.form-control { resize: vertical; min-height: 100px; }

/* ── Footer ── */
#stcEditModal .modal-footer {
    background: #fff;
    border-top: 1px solid #e8ecf0;
    padding: 18px 32px;
    text-align: right;
}
#stcEditModal .btn-stc-cancel {
    background: transparent;
    border: 1.5px solid #d0d5dd;
    color: #5a6273;
    border-radius: 8px;
    padding: 10px 24px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    margin-right: 10px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}
#stcEditModal .btn-stc-cancel:hover { background: #f1f5f9; border-color: #9aa3b2; color: #1a1e2c; }
#stcEditModal .btn-stc-save {
    background: linear-gradient(135deg, #18385f 0%, #1f5289 100%);
    border: none;
    color: #fff;
    border-radius: 8px;
    padding: 11px 28px;
    font-size: 15px;
    font-weight: 700;
    min-width: 150px;
    cursor: pointer;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
    box-shadow: 0 4px 12px rgba(24,56,95,0.3);
}
#stcEditModal .btn-stc-save:hover:not([disabled]) { opacity: 0.88; }
#stcEditModal .btn-stc-save[disabled] { opacity: 0.6; cursor: not-allowed; }

/* ── Alerts ── */
#stcEditModal .stc-alert {
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 12.5px;
    margin-top: 14px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: 8px;
}
#stcEditModal .stc-alert-error  { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; }
#stcEditModal .stc-alert-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #16a34a; }
/* ========================================
   STC Invoice PDF Styles - Mahima
   ======================================== */
.stc-pdf-wrapper {
    background-color: #ffffff;
}
.stc-pdf-container {
    max-width: 800px;
    margin: 0 auto;
    background: transparent;
    font-family: "Roboto", sans-serif;
    color: #333;
}
.stc-pdf-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    margin-bottom: 15px;
    background-color: #1e3a5f;
    border-radius: 10px;
}
#stcInvoiceContainer .stc-pdf-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: white !important;
}
.stc-pdf-header .stc-quot-main-title,
.stc-pdf-header .stc-quot-sub-title,
.stc-pdf-header .stc-quot-refno-box,
.stc-pdf-header .stc-quot-tc-title {
    color: #ffffff;
}
.stc-pdf-logo img {
    max-width: 200px;
    max-height: 60px;
}
.stc-meta-table {
    border-collapse: collapse;
}
.stc-meta-table td {
    padding: 4px 15px 4px 0;
    font-size: 14px;
}
.stc-meta-label {
    color: #6c7a87;
    width: 100px;
}
.stc-meta-value {
    color: #1a1a1a;
}
/* Card */
.stc-pdf-card {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    padding: 10px 30px;
}
.stc-pdf-card-gap {
    height: 60px;
}
.stc-pdf-col-title {
    color: #6c7a87;
    font-size: 14px;
    margin-bottom: 15px;
    display: inline-block;
}
.stc-pdf-entity-name {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
    text-transform: uppercase;
}
.stc-pdf-bank-details {
    margin-top: 15px;
}
.stc-pdf-contact-table,
.stc-pdf-bank-table {
    border-collapse: collapse;
    width: 100%;
}
.stc-pdf-contact-table td,
.stc-pdf-bank-table td {
    padding: 4px 0;
    font-size: 14px;
    white-space: nowrap;
}
.stc-pdf-contact-label {
    color: #6c7a87;
}
.stc-pdf-contact-value {
    color: #1a1a1a;
    font-weight: 600;
}
.stc-pdf-divider {
    border-top: 1px solid #f1f2f6;
    border-bottom: none;
    margin: 30px 0 15px 0;
}
.stc-pdf-divider-light {
    border-top: 1px solid #f1f2f6;
    border-bottom: none;
    margin: 0px;
}
.stc-pdf-items-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}
.stc-pdf-items-table th {
    color: #6c7a87;
    font-size: 12px;
    font-weight: 600;
    padding: 10px 0;
    border-bottom: 1px solid #f1f2f6;
    border-top: 1px solid #f1f2f6;
    text-transform: uppercase;
}
.stc-pdf-items-table td {
    padding: 15px 0;
    vertical-align: top;
    font-size: 14px;
}
.stc-pdf-text-muted {
    color: #6c7a87;
}
.stc-pdf-totals-section {
    display: flex;
    justify-content: flex-end;
}
.stc-pdf-totals-table {
    width: 350px;
}
.stc-pdf-totals-table td {
    padding: 8px 0;
    font-size: 13px;
}
.stc-pdf-total-label {
    color: #1a1a1a;
}
.stc-pdf-total-value {
    text-align: right;
    color: #1a1a1a;
}
.stc-pdf-grand-total td {
    padding-top: 15px;
    font-size: 14px;
}
.stc-pdf-card-footer {
    font-size: 14px;
    color: #1a1a1a;
    text-align: center;
}
.stc-pdf-bottom-info {
    padding: 20px;
    color: #4a4a4a;
}
.stc-pdf-note-title,
.stc-pdf-terms-title {
    color: #6c7a87;
    font-size: 14px;
    margin: 10px 0;
    display: inline-block;
}
.stc-pdf-note-list {
    margin: 0;
    padding-left: 20px;
    font-size: 13px;
    line-height: 1.6;
}
.stc-pdf-terms-text {
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 15px;
}

@media print {
    .stc-pdf-wrapper {
        background: none !important;
        padding: 0 !important;
    }
    .stc-pdf-container {
        max-width: 100% !important;
        margin: 0 !important;
        width: 100% !important;
    }
    .stc-pdf-card {
        border: 1px solid #dee2e6 !important;
        box-shadow: none !important;
        border-radius: 12px !important;
    }
    .stc-meta-label,
    .stc-pdf-col-title,
    .stc-pdf-contact-label,
    .stc-pdf-items-table th,
    .stc-pdf-text-muted,
    .stc-pdf-note-title,
    .stc-pdf-terms-title {
        color: #6c7a87 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    .d-print-none {
        display: none !important;
    }

    .payment-method-card .stc-quot-card-body{
        padding: 17px 15px !important;
    }

    #quotationContainer a[href]:after {
        content: none !important;
    }
    .stc-pdf-page {
        border: 2px solid #1e3a5f !important;
        border-radius: 12px !important;
        padding: 20px 24px !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        box-decoration-break: clone
    }
    .stc-pdf-header {
        background-color: #1e3a5f !important;
        border-radius: 10px !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    .stc-pdf-header .stc-quot-main-title,
    .stc-pdf-header .stc-quot-sub-title,
    .stc-pdf-header .stc-quot-refno-box,
    .stc-pdf-header .stc-quot-tc-title {
        color: #ffffff !important;
    }
}

/* ========================================
   STC Invoice PDF - Quotation Container 3 | Mahima
   ======================================== */

.stc-pdf-page {
    border: 2px solid #1e3a5f;
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 20px;
}

.stc-quot-main-title {
    font-size: 26px;
    font-weight: 900;
    color: #1a1a1a;
    line-height: 36px;
    letter-spacing: 0.5px;
}

.stc-quot-sub-title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin-top: 4px;
    letter-spacing: 0.3px;
}

.stc-quot-tc-title {
    font-size: 36px;
    font-weight: 900;
    color: #1a1a1a;
    letter-spacing: 1px;
    line-height: 1;
}

.stc-quot-discount {
    color: #28a745 !important;
}

.stc-quot-section-bar {
    background-color: #1e3a5f;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 5px 12px;
    border-radius: 14px;
}

.stc-quot-card {
    background: #fff;
    border: 1px solid #1e3a5f;
    border-radius: 15px;
    margin-bottom: 15px;
}

.stc-quot-card-body {
    padding: 8px 15px;
}

.stc-quot-product-text {
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    color: #1a1a1a;
    margin: 4px 0px 4px 0px;
}

.stc-quot-product-spec {
    font-size: 12px;
    line-height: 16px;
    color: #6c7a87;
    margin-bottom: 4px;
}

.stc-quot-price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.stc-quot-price-table td {
    padding: 4px 0;
    color: #1a1a1a;
}

.stc-quot-price-table td:last-child {
    text-align: right;
}

.stc-quot-totals-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.stc-quot-totals-table td {
    padding: 4px 0;
    color: #1a1a1a;
}

.stc-quot-totals-table td:last-child {
    text-align: right;
}
.stc-quot-totals-table.final-total{
    font-size: larger;
}

.stc-quot-card-terms {
    font-size: 11px;
    line-height: 1.5;
    color: #333;
}

.stc-quot-footer-bar {
    background-color: #1e3a5f;
    color: #fff;
    font-size: 10px;
    padding: 8px 14px;
    border-radius: 4px;
    text-align: center;
    margin-top: 10px;
}

.stc-quot-sig-input {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 12px;
    color: #333;
    background: #fff;
    width: 100%;
}

.stc-quot-sig-line {
    border-bottom: 1px dashed #999;
    margin-bottom: 4px;
}

.stc-quot-sig-row {
    align-items: flex-end;
}

.stc-quot-sig-col {
    display: flex;
    flex-direction: column;
}

.stc-quot-sig-spacer {
    height: 50px;
}

.stc-quot-sig-img-wrap {
    height: 50px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.stc-quot-sig-img-wrap img {
    max-height: 50px;
    max-width: 100%;
    object-fit: contain;
}

.stc-quot-icon-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 4px;
    font-size: 12px;
    color: #333;
}

.stc-quot-icon-row .material-symbols-outlined {
    font-size: 14px;
    color: #6c7a87;
    flex-shrink: 0;
    margin-top: 2px;
}

.stc-quot-icon-row img {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    margin-top: 2px;
}

.stc-quot-advisor-name {
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
}

.stc-quot-payment-title {
    font-size: 14px;
    font-weight: 500;
    color: #1a1a1a;
}

.stc-quot-payment-desc {
    font-size: 12px;
    line-height: 16px;
    color: #6c7a87;
}
.payment-method-card .stc-quot-card-body,
.product-desc-card .stc-quot-card-body{
    padding: 5px 15px;
}

/* ========================================
   Panel & Inverter List Page Styles - Harsh P.
   ======================================== */

#panelPage .action-btn.action-btn-primary,
#inverterPage .action-btn.action-btn-primary,
#invoicePage .action-btn.action-btn-primary {
    padding: 4px 10px;
    font-size: 12px;
}

#panelPage .action-btn.action-btn-primary .material-symbols-outlined,
#inverterPage .action-btn.action-btn-primary .material-symbols-outlined,
#invoicePage .action-btn.action-btn-primary .material-symbols-outlined {
    font-size: 16px;
}

#panelPage .panel-action-btns,
#inverterPage .panel-action-btns,
#invoicePage .panel-action-btns {
    gap: 6px;
}

#panelPage .display-inline,
#inverterPage .display-inline,
#batteryPage .display-inline,
#invoicePage .display-inline {
    display: inline;
}

#panelPage .panel-import-icon,
#inverterPage .panel-import-icon,
#invoicePage .panel-import-icon {
    margin-right: 5px;
}

#panelPage .action-btn.action-btn-primary:focus,
#panelPage .action-btn.action-btn-primary:active,
#inverterPage .action-btn.action-btn-primary:focus,
#inverterPage .action-btn.action-btn-primary:active,
#invoicePage .action-btn.action-btn-primary:focus,
#invoicePage .action-btn.action-btn-primary:active {
    color: #18385F !important;
    background-color: transparent !important;
    border-color: #18385F !important;
    box-shadow: none !important;
    outline: none !important;
}

#panelPage .action-btn.action-btn-primary:focus .material-symbols-outlined,
#panelPage .action-btn.action-btn-primary:active .material-symbols-outlined,
#inverterPage .action-btn.action-btn-primary:focus .material-symbols-outlined,
#inverterPage .action-btn.action-btn-primary:active .material-symbols-outlined,
#invoicePage .action-btn.action-btn-primary:focus .material-symbols-outlined,
#invoicePage .action-btn.action-btn-primary:active .material-symbols-outlined {
    color: #18385F !important;
}

#panelPage .empty-state-icon,
#inverterPage .empty-state-icon,
#invoicePage .empty-state-icon {
    font-size: 48px;
    color: #ccc;
    display: block;
    margin-bottom: 8px;
}

#panelPage .empty-state-text,
#inverterPage .empty-state-text,
#invoicePage .empty-state-text {
    color: #999;
    font-size: 14px;
}

#panelPage .empty-state-cell,
#inverterPage .empty-state-cell,
#invoicePage .empty-state-cell {
    padding: 40px 0;
}

/* ========================================
   Invoice Page Styles - Harsh P.
   ======================================== */

#invoicePage .invoice-status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

#invoicePage .badge-paid {
    background: #e6f9ed;
    color: #1a7f37;
    border: 1px solid #a3e4b8;
}

#invoicePage .badge-pending {
    background: #fff8e1;
    color: #b8860b;
    border: 1px solid #ffe082;
}

#invoicePage .badge-unpaid {
    background: #ffeef0;
    color: #d73a49;
    border: 1px solid #fdaeb7;
}

#invoicePage .invoice-filter-actions {
    gap: 10px;
}

#invoicePage .invoice-filter-actions .btn-outline-secondary {
    padding: 5px 12px !important;
}
/* ========================================
   Invoice Edit Slider - Savan D.
   ======================================== */

/* Flex wrapper: table card + slider sit side by side */
.inv-layout-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 8px;
}

/* Table card takes all remaining space */
.inv-layout-wrapper .job-card {
    flex: 1;
    min-width: 0;
    margin-bottom: 0 !important;
}

/* Slider panel — inline flex child, collapses to 0 when closed */
.inv-slider {
    flex-shrink: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #f4f6fa;
    border-radius: 8px;
    transition: width .32s cubic-bezier(.4,0,.2,1),
                box-shadow .32s,
                border .32s;
}
.inv-slider.open {
    width: 520px;
    height: auto;
    box-shadow: 0 2px 16px rgba(0,0,0,.10);
    border: 1px solid #dde3f0;
}

/* bottom action bar */
.inv-slider-bottombar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    padding: 10px 16px 12px;
    background: #f4f6fa;
    border-top: 1px solid #e2e6ef;
    flex-shrink: 0;
}

/* scrollable body */
.inv-slider-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
}

/* white invoice card */
.inv-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e2e6ef;
    padding: 18px 18px 14px;
}

/* card header */
.inv-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 2px;
}
.inv-card-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.inv-ref-number {
    font-size: 16px;
    font-weight: 700;
    color: #1a2540;
}
.inv-stc-chip {
    background: #eef0f8;
    color: #2d3a5e;
    border-radius: 50px;
    padding: 1px 10px;
    font-size: 13px;
    font-weight: 600;
}
.inv-status-badge {
    border-radius: 50px;
    padding: 2px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
}
.inv-status-badge.paid    { background: #27ae60; }
.inv-status-badge.unpaid  { background: #e74c3c; }
.inv-status-badge.partial { background: #f39c12; }

.inv-date-row {
    font-size: 11px;
    color: #7a8499;
    margin-bottom: 12px;
}
.inv-date-row span { margin-right: 14px; }

/* "≡ Details" section header */
.inv-section-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #1a2540;
    border-bottom: 1px solid #e8ecf6;
    padding-bottom: 6px;
    margin-bottom: 12px;
}
.inv-section-title .material-symbols-outlined { font-size: 16px; color: #5a6a9a; }

/* Supplier / Recipient two-column grid */
.inv-parties-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}
.inv-party-col h6 {
    font-size: 11px;
    font-weight: 700;
    color: #7a8499;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.inv-party-name {
    font-size: 13px;
    font-weight: 700;
    color: #1a2540;
    margin-bottom: 2px;
}
.inv-party-address {
    font-size: 11px;
    color: #7a8499;
    margin-bottom: 8px;
    line-height: 1.4;
}
.inv-party-row {
    display: flex;
    font-size: 12px;
    margin-bottom: 3px;
    gap: 6px;
}
.inv-party-row .lbl { color: #8a93a8; min-width: 100px; }
.inv-party-row .val { color: #1a2540; font-weight: 500; word-break: break-all; }

/* editable inputs */
.inv-edit-input {
    border: 1px solid #c8d0e0;
    border-radius: 4px;
    padding: 3px 7px;
    font-size: 12px;
    color: #1a2540;
    background: #f8f9fc;
    width: 100%;
    outline: none;
    transition: border-color .18s;
}
.inv-edit-input:focus { border-color: #18385f; background: #fff; }

/* items table — matching PDF column labels */
.inv-items-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    margin-bottom: 14px;
}
.inv-items-table th {
    font-size: 11px;
    font-weight: 700;
    color: #5a6a9a;
    text-transform: uppercase;
    letter-spacing: .3px;
    padding: 5px 6px;
    border-bottom: 1px solid #e2e6ef;
    white-space: nowrap;
    background: #f8f9fc;
}
.inv-items-table td {
    padding: 7px 6px;
    color: #1a2540;
    vertical-align: middle;
    border-bottom: 1px solid #f0f2f8;
}
.inv-items-table .price-prefix {
    display: flex;
    align-items: center;
    gap: 3px;
}

/* totals block — right-aligned pills matching invoice PDF */
.inv-totals-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
    margin-top: 4px;
}
.inv-total-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    font-size: 12px;
    width: 100%;
}
.inv-total-row .lbl {
    flex: 1;
    text-align: right;
    color: #7a8499;
    font-weight: 500;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.inv-total-row .val {
    min-width: 90px;
    text-align: center;
    background: #eef0f8;
    border-radius: 4px;
    padding: 3px 12px;
    font-weight: 600;
    color: #1a2540;
    font-size: 12px;
}
.inv-total-row .val.editable-val {
    background: #fff;
    border: 1px solid #c8d0e0;
    padding: 2px 6px;
    display: flex;
    align-items: center;
    gap: 2px;
}
.inv-total-row .val.editable-val input {
    border: none;
    outline: none;
    background: transparent;
    width: 70px;
    text-align: center;
    font-weight: 600;
    font-size: 12px;
    color: #1a2540;
}

/* ========================================
   Owner Address Fields - Quotation Create
   ======================================== */

/* Row 1: Owner Address + Address Type + Unit Type + Unit No */
.owner-address-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    margin-right: -15px;
    margin-left: -15px;
    align-items: flex-end;
}

.owner-address-col {
    flex: 0 0 40% !important;
    max-width: 40% !important;
    padding: 0 15px;
}

.owner-address-type-col {
    flex: 0 0 20% !important;
    max-width: 20% !important;
    padding: 0 15px;
}

.owner-unit-type-col {
    flex: 0 0 22% !important;
    max-width: 22% !important;
    padding: 0 15px;
}

.owner-unit-no-col {
    flex: 0 0 18% !important;
    max-width: 18% !important;
    padding: 0 15px;
}

/* Row 2: Street fields */
#ownerPhysicalFields {
    display: flex !important;
    flex-wrap: nowrap !important;
    margin-right: -7.5px;
    margin-left: -7.5px;
    align-items: flex-end;
    margin-top: 10px;
}

.owner-po-box-col {
    display: none;
    flex: 0 0 20% !important;
    max-width: 40% !important;
    padding: 0 15px;
}

.owner-street-no-col {
    flex: 0 0 10% !important;
    max-width: 10% !important;
    padding: 0 7.5px;
}

.owner-street-name-col {
    flex: 0 0 24% !important;
    max-width: 24% !important;
    padding: 0 7.5px;
}

.owner-street-type-col {
    flex: 0 0 18% !important;
    max-width: 18% !important;
    padding: 0 7.5px;
}

.owner-suburb-col {
    flex: 0 0 22% !important;
    max-width: 22% !important;
    padding: 0 7.5px;
}

.owner-state-col {
    flex: 0 0 13% !important;
    max-width: 13% !important;
    padding: 0 7.5px;
}

.owner-postcode-col {
    flex: 0 0 13% !important;
    max-width: 13% !important;
    padding: 0 7.5px;
}

.owner-address-row label,
#ownerPhysicalFields label {
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════
   Job Invoices page — Record Payment Modal  (#recordPaymentModal)
   ═══════════════════════════════════════════════════════════════ */
#recordPaymentModal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 1050;
    overflow: auto;
    padding: 20px;
    align-items: center;
    justify-content: center;
}
#rp_modal_box {
    background: #fff;
    width: 95%;
    max-width: 900px;
    max-height: 90vh;
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
#rp_modal_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
}
#rp_title {
    margin: 0;
    font-weight: 600;
}
#rp_modal_close_btn {
    border: none;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
#rp_form {
    padding: 16px;
    flex: 1 1 auto;
    overflow: auto;
}
#rp_invoice_details_section {
    margin-bottom: 16px;
}
#rp_invoice_meta_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
#rp_invoice_details_title {
    font-weight: 600;
}
#rp_month_label,
#rp_invoice_number_label {
    font-size: 12px;
    color: #666;
}
#rp_view_pdf {
    font-size: 12px;
    text-decoration: underline;
    display: none;
}
#rp_table_scroll {
    overflow: auto;
}
#rp_items_table {
    width: 100%;
    border-collapse: collapse;
}
#rp_items_table thead th {
    padding: 8px;
    border-bottom: 1px solid #e5e5e5;
    text-align: right;
}
#rp_items_table thead th:first-child {
    text-align: left;
}
#rp_items_tbody td {
    padding: 8px;
    border-bottom: 1px solid #f5f5f5;
    text-align: right;
}
#rp_items_tbody td:first-child {
    text-align: left;
}
#rp_items_table tfoot td {
    text-align: right;
    padding: 8px;
}
#rp_subtotal_row td {
    border-top: 1px solid #f0f0f0;
}
#rp_total_row td {
    font-weight: 700;
    border-top: 1px solid #e5e5e5;
}
#rp_discount_row {
    display: none;
}

#rp_payable_row {
    display: none;
}
#rp_payable_row td {
    font-weight: 700;
    border-top: 2px solid #1a2540;
    color: #1a2540;
}
#rp_form_fields {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
#rp_field_month,
#rp_field_date,
#rp_field_txn {
    flex: 1 1 220px;
}
#rp_field_proof {
    flex: 1 1 320px;
}
#rp_field_notes {
    flex: 1 1 100%;
}
#recordPaymentModal label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}
#recordPaymentModal input[type="text"],
#recordPaymentModal input[type="date"],
#recordPaymentModal textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}
#rp_month {
    background: #f9f9f9;
}
#rp_form input[type="file"] {
    width: 100%;
    padding: 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
}
#rp_modal_actions {
    position: sticky;
    bottom: -15px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
    background: #fff;
    padding-top: 12px;
    border-top: 1px solid #eee;
}

/* ═══════════════════════════════════════════════════════════════
   Job Invoices page — Edit Invoice Slider  (#ciInvSlider)
   ═══════════════════════════════════════════════════════════════ */
#ciInvSlider .inv-items-table th:nth-child(2),
#ciInvSlider .inv-items-table th:nth-child(3) {
    text-align: center;
}
#ciInvSlider .inv-items-table th:nth-child(4) {
    text-align: right;
}
#ci_items_tbody td:nth-child(2),
#ci_items_tbody td:nth-child(3) {
    text-align: center;
}
#ci_items_tbody td:nth-child(4) {
    text-align: right;
}
#ci_discount {
    width: 70px;
}
#ciInvSlider .ci-payable-row {
    border-top: 1px solid #e2e6ef;
    margin-top: 4px;
    padding-top: 6px;
}
#ciInvSlider .ci-payable-row .lbl,
#ciInvSlider .ci-payable-row .val {
    font-weight: 700;
    color: #1a2540;
}
#ciSliderSaveBtn .material-symbols-outlined,
#ciSliderCancelBtn .material-symbols-outlined {
    margin-right: 5px;
}
