body {
            background-color: #f8f9fa;
        }
        .select2-container--bootstrap-5 .select2-selection {
            min-height: calc(1.5em + 0.75rem + 2px);
            padding: 0.375rem 0.75rem;
            font-size: 1rem;
            font-weight: 400;
            line-height: 1.5;
            display: flex;
            align-items: center;
        }
        .select2-container--bootstrap-5 .select2-selection--single .select2-selection__arrow {
            top: 50%;
            transform: translateY(-50%);
        }
        #main-loader-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(255, 255, 255, 0.95);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            z-index: 1056; 
            transition: opacity 0.5s ease-out;
        }
        .loader-spinner { 
            border: 8px solid #e9ecef; 
            border-top: 8px solid #0d6efd; 
            border-radius: 50%;
            width: 60px;
            height: 60px;
            animation: spin 1.2s linear infinite;
        }
        #main-loader-overlay p {
            margin-top: 20px;
            font-size: 1.1em;
            color: #495057;
        }
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        .table-hover tbody tr:hover {
            background-color: #e9ecef;
        }
        .total-box {
            position: sticky;
            top: 20px;
        }
        .quantity-input {
            width: 80px;
        }
        .price-input {
            width: 120px;
        }
        .input-group-sm .price-input {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
        }
        .error-message {
            color: #dc3545;
            text-align: center;
        }
        .dropdown-group, .buyer-group {
            margin-top: 15px;
        }
        .table-sticky thead th {
            position: sticky;
            top: 0;
            background-color: #ffffff;
            z-index: 1; 
            box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1);
        }
        .btn i {
            margin-right: 0.5rem;
        }
        .logo-img {
            max-width: 225px;
            height: 75px;
            object-fit: contain;
            margin-bottom: 1rem;
            background-color: #000;
            display: inline-block;
        }
        .header-container {
            text-align: center;
        }
        @media (max-width: 767.98px) { 
            .total-box {
                position: static;
            }
            .logo-img {
                max-width: 120px;
                height: 40px;
            }
            .quantity-input {
                width: 60px;
            }
            .price-input {
                width: 100px;
            }
            .address-fields-row > div[class*="col-"],
            .delivery-term-fields-row > div[class*="col-"] { 
                margin-bottom: 1rem;
            }
             .address-fields-row > div[class*="col-"]:last-child,
             .delivery-term-fields-row > div[class*="col-"]:last-child { 
                margin-bottom: 0;
            }
        }
        @media print {
            body {
                background: white;
                font-size: 10pt; /* Tamanho de fonte base para impressão */
            }
            .no-print, #main-loader-overlay {
                display: none !important;
            }
            .logo-img { /* Ajuste para impressão */
                max-width: 120px; 
                height: 40px;
            }
            .receipt-container {
                padding: 0 !important; /* Remove padding do container na impressão */
                 border: none !important; /* Remove borda do container na impressão */
            }
             .receipt-container h5 {
                font-size: 12pt; /* Ajusta tamanho dos títulos de seção */
            }
            .receipt-container p, .receipt-container td, .receipt-container th {
                 font-size: 9pt; /* Ajusta tamanho do texto geral */
            }
            .receipt-container .table-sm th, .receipt-container .table-sm td {
                padding: 0.25rem; /* Reduz padding de tabelas */
            }
        }