/* 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;
    }
}