        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&family=Noto+Sans+TC:wght@300;400;500;700&display=swap');
        
        body { 
            font-family: 'Inter', 'Noto Sans TC', 'Noto Sans SC', 'PingFang TC', 'Microsoft JhengHei', 'PingFang SC', 'Microsoft YaHei', 'SimHei', sans-serif; 
            overflow-x: hidden; 
        }
        
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

        .page-break-marker {
            position: absolute;
            left: 0;
            width: 100%;
            border-bottom: 2px dashed #3b82f6;
            pointer-events: none;
            z-index: 50;
            display: flex;
            justify-content: flex-end;
        }
        .page-break-label {
            background: #3b82f6;
            color: white;
            font-size: 10px;
            padding: 2px 6px;
            border-radius: 4px 0 0 0;
        }

        .canvas-input {
            background: transparent;
            border: 1px solid transparent;
            width: 100%;
            font-family: inherit;
            font-size: inherit;
            font-weight: inherit;
            color: inherit;
            text-align: inherit;
            padding: 0;
            margin: 0;
            resize: none;
            outline: none;
        }
        .canvas-input:hover:not(:disabled) { border-bottom: 1px dashed #ccc; }
        .canvas-input:focus { border-bottom: 1px solid #998bff; }
        
        @media print {
            @page { size: A4; margin: 0mm !important; }
            html, body { width: 210mm; height: 297mm; margin: 0 !important; padding: 0 !important; background: white; -webkit-print-color-adjust: exact; print-color-adjust: exact; overflow: hidden; }
            #root, .sidebar, .no-print, .mobile-header, .page-break-marker, .group > div.absolute, .payment-modal-overlay { display: none !important; }
            #root, .flex.h-screen, .main-content { display: block !important; height: auto !important; width: 100% !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: white !important; }
            .scale-container { width: 100% !important; height: auto !important; transform: none !important; display: block !important; margin: 0 !important; padding: 0 !important; left: 0 !important; top: 0 !important; }
            .scale-container > div { transform: none !important; width: 100% !important; }
            .invoice-page-container { position: fixed !important; top: 0 !important; left: 0 !important; margin: 0 !important; padding: 0 !important; width: 210mm !important; min-height: 297mm !important; z-index: 9999; background: white !important; box-shadow: none !important; }
            .invoice-page { width: 210mm !important; min-height: 297mm !important; margin: 0 !important; padding: 15mm !important; box-shadow: none !important; border: none !important; transform: none !important; overflow: visible !important; background: white !important; display: block !important; }
            input, textarea, select { display: none !important; }
            .print-text-view { display: block !important; }
            * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
        }

        .invoice-page {
            width: 210mm;
            min-height: 297mm;
            background: white;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            padding: 15mm;
            position: relative;
            transform-origin: top center;
            overflow: hidden; 
        }
