* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; font-size: 12px; color: #333333; line-height: 1.3; background-color: #ffffff; } .container { max-width: 600px; margin: 0 auto; padding: 10px 20px; } /* Header Styles */ .header { margin-bottom: 15px; position: relative; display: table; width: 100%; } .header-left { display: table-cell; vertical-align: middle; width: 60%; } .header-right { display: table-cell; vertical-align: middle; width: 40%; text-align: right; } .logo-section { display: inline-block; } .logo { font-size: 24px; font-weight: 700; color: #5B72EC; letter-spacing: -1px; margin-bottom: 0px; display: inline-block; } .logo-subtitle { font-size: 8px; color: #8A9ACF; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; display: inline-block; } .document-title { font-size: 16px; font-weight: 600; color: #2C3E50; margin: 5px 0 4px 0; } .document-date { font-size: 11px; color: #718096; font-weight: 400; } /* Status Badge */ .status-badge { display: inline-block; padding: 4px 10px; border-radius: 15px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; margin-top: 4px; } /* Status Success (settled, completed) */ .status-success { background-color: #E8F5E8; color: #2D7D32; border: 1px solid #C8E6C9; } /* Status Failed */ .status-failed { background-color: #FFEBEE; color: #C62828; border: 1px solid #FFCDD2; } /* Status Reversed */ .status-reversed { background-color: #FFF3E0; color: #E65100; border: 1px solid #FFE0B2; } /* Status Rejected */ .status-rejected { background-color: #FCE4EC; color: #C2185B; border: 1px solid #F8BBD0; } /* Status Processing */ .status-processing { background-color: #E3F2FD; color: #1565C0; border: 1px solid #BBDEFB; } /* Status Unknown */ .status-unknown { background-color: #F5F5F5; color: #616161; border: 1px solid #E0E0E0; } /* Status Pending */ .status-pending { background-color: #FFF9C4; color: #F57C00; border: 1px solid #FFF176; } /* Status Sent */ .status-sent { background-color: #F3E5F5; color: #7B1FA2; border: 1px solid #E1BEE7; } /* Amount Section */ .amount-section { background-color: #5B72EC; color: white; padding: 15px 15px; text-align: center; margin: 12px 0; border-radius: 8px; border: 1px solid #4A5FDB; } .amount { font-size: 32px; font-weight: 700; margin-bottom: 4px; letter-spacing: -1px; } .amount-currency { font-size: 20px; opacity: 0.9; margin-right: 4px; } .amount-description { font-size: 12px; opacity: 0.95; font-weight: 400; } /* Movement Type Badges */ .type-badge { display: inline-block; padding: 4px 10px; border-radius: 15px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.3px; margin-top: 4px; } .type-ingreso { background-color: #E8F5E8; color: #2D7D32; border: 1px solid #C8E6C9; } .type-egreso { background-color: #FFEBEE; color: #C62828; border: 1px solid #FFCDD2; } /* Details Grid */ .details-grid { display: table; width: 100%; margin: 15px 0; } .detail-column { display: table-cell; width: 50%; vertical-align: top; padding: 0 8px; } .detail-card { background-color: #F8F9FA; border: 1px solid #E9ECEF; border-radius: 6px; padding: 12px 15px; position: relative; min-height: 80px; } .detail-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background-color: #5B72EC; border-radius: 3px 0 0 3px; } .detail-label { font-size: 10px; color: #6C757D; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; } .detail-title { font-size: 14px; font-weight: 600; color: #2C3E50; margin-bottom: 6px; line-height: 1.2; } .detail-info { font-size: 11px; color: #6C757D; margin-bottom: 3px; } .detail-highlight { color: #5B72EC; font-weight: 600; } /* Operation Section */ .operation-section { background-color: #F8F9FA; border: 1px solid #E9ECEF; border-radius: 6px; padding: 12px; text-align: center; margin: 15px 0; } .operation-label { font-size: 9px; color: #6C757D; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; } .operation-id { font-size: 20px; font-weight: 700; color: #5B72EC; letter-spacing: 1px; margin-bottom: 4px; font-family: 'Courier New', monospace; } .operation-subtitle { font-size: 10px; color: #718096; margin-top: 4px; } /* Transaction Details */ .transaction-details { background-color: #FFFFFF; border: 1px solid #E9ECEF; border-radius: 6px; padding: 10px; margin: 12px 0; } .transaction-row { display: table; width: 100%; margin-bottom: 6px; } .transaction-row:last-child { margin-bottom: 0; } .transaction-label { display: table-cell; font-size: 10px; color: #6C757D; font-weight: 500; width: 40%; padding-right: 15px; } .transaction-value { display: table-cell; font-size: 10px; color: #2C3E50; font-weight: 600; } /* Balance Section */ .balance-section { background-color: #F8F9FA; border: 1px solid #E9ECEF; border-radius: 6px; padding: 10px; margin: 12px 0; } .balance-row { display: table; width: 100%; margin-bottom: 6px; } .balance-label { display: table-cell; font-size: 11px; color: #6C757D; font-weight: 500; width: 50%; padding-right: 10px; } .balance-value { display: table-cell; font-size: 11px; color: #2C3E50; font-weight: 600; text-align: right; } .balance-debit { color: #DC2626; } .balance-credit { color: #059669; } .balance-total { font-size: 13px; font-weight: 700; border-top: 1px solid #E9ECEF; padding-top: 6px; margin-top: 6px; } /* Divider */ .divider { height: 1px; background-color: #E9ECEF; margin: 12px 0; border: none; } /* Footer */ .footer { text-align: center; padding-top: 12px; border-top: 1px solid #E9ECEF; margin-top: 15px; } .footer-text { font-size: 9px; color: #718096; margin-bottom: 4px; line-height: 1.3; } .footer-brand { font-size: 10px; color: #5B72EC; font-weight: 600; margin-top: 8px; } .footer-timestamp { font-size: 8px; color: #9CA3AF; margin-top: 6px; } /* Security Badge */ .security-badge { display: inline-block; background-color: #F0F9FF; color: #0369A1; padding: 4px 8px; border-radius: 12px; font-size: 9px; font-weight: 600; margin-top: 8px; border: 1px solid #E0F2FE; } /* Warning Badge */ .warning-badge { display: inline-block; background-color: #FFF3CD; color: #856404; padding: 4px 8px; border-radius: 12px; font-size: 9px; font-weight: 600; margin-top: 8px; border: 1px solid #FFEAA7; } /* Info Badge */ .info-badge { display: inline-block; background-color: #D1ECF1; color: #0C5460; padding: 4px 8px; border-radius: 12px; font-size: 9px; font-weight: 600; margin-top: 8px; border: 1px solid #BEE5EB; } /* Print optimizations */ @media print { .container { padding: 20px; max-width: none; } .amount-section { background: #5B72EC !important; -webkit-print-color-adjust: exact; } }