 body {
            font-family: 'Inter', sans-serif;
            background-color: #f8f9fa;
            color: #212529;
        }

        .heading-step {
            font-weight: 800;
            color: #2c3e50;
            margin-bottom: 4px;
        }
        
        .subheading-step {
            color: #6c757d;
            font-size: 0.9rem;
            margin-bottom: 20px;
        }

        /* Template Selector Cards */
        .template-card {
            background-color: #ffffff;
            border: 2px solid #e2e8f0;
            border-radius: 12px;
            padding: 16px;
            cursor: pointer;
            transition: all 0.25s ease-in-out;
            position: relative;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .template-card:hover {
            border-color: #4f46e5;
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
        }

        .template-card.active {
            border-color: #5570f1;
            box-shadow: 0 0 0 3px rgba(85, 112, 241, 0.2);
        }

        .template-card .check-circle {
            position: absolute;
            top: 10px;
            right: 10px;
            color: #10b981;
            font-size: 1.25rem;
            display: none;
        }

        .template-card.active .check-circle {
            display: block;
        }

        .template-preview-box {
            background-color: #fafafa;
            border: 1px solid #e9ecef;
            border-radius: 8px;
            height: 220px;
            padding: 12px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            overflow: hidden;
            font-size: 0.75rem;
            margin-bottom: 14px;
        }

        .template-card-footer {
            border-radius: 0 0 10px 10px;
            padding: 12px;
            text-align: center;
        }

        .template-card.active .btn-template-title {
            background-color: #5570f1;
            color: #ffffff;
        }

        .template-card .btn-template-title {
            background-color: transparent;
            color: #212529;
            font-weight: 700;
            padding: 8px 12px;
            border-radius: 6px;
            font-size: 0.95rem;
            margin-bottom: 2px;
        }

        .template-card .btn-template-sub {
            font-size: 0.78rem;
            color: #6c757d;
        }
        
        .template-card.active .btn-template-sub {
            color: #ffffff;
            opacity: 0.9;
        }

        /* Customize Form Controls */
        .form-label-custom {
            font-size: 0.85rem;
            font-weight: 600;
            color: #495057;
        }

        .form-control-custom {
            border: 1px solid #ced4da;
            border-radius: 4px;
            padding: 7px 12px;
            font-size: 0.9rem;
        }

        .form-control-custom:focus {
            border-color: #5570f1;
            box-shadow: 0 0 0 0.2rem rgba(85, 112, 241, 0.15);
        }

        /* Table Styling */
        .line-items-table {
            border: 1px solid #dee2e6;
        }
        .line-items-table th {
            background-color: #4a4d55 !important;
            color: #ffffff !important;
            font-size: 0.82rem;
            font-weight: 600;
            padding: 10px 14px;
        }
        .line-items-table td {
            padding: 4px 8px;
            vertical-align: middle;
        }

        /* Green Generate Button */
        .btn-generate {
            background-color: #28a745;
            color: #ffffff;
            font-weight: 700;
            padding: 10px 24px;
            border-radius: 6px;
            border: none;
            transition: all 0.2s;
        }
        .btn-generate:hover {
            background-color: #218838;
            color: #ffffff;
            box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
        }

        /* Printable Receipt Canvas */
        .receipt-paper {
            background: #ffffff;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
            border: 1px solid #e2e8f0;
            border-radius: 8px;
            margin: 0 auto;
            width: 100%;
            box-sizing: border-box;
        }

        .download-link-text {
            color: #e63946;
            text-decoration: none;
            font-size: 0.85rem;
            font-weight: 600;
            cursor: pointer;
            transition: color 0.2s;
        }
        .download-link-text:hover {
            color: #d62828;
            text-decoration: underline;
        }

        /* Print Override */
        @media print {
            body * {
                visibility: hidden;
            }
            #receipt-print-area, #receipt-print-area * {
                visibility: visible;
            }
            #receipt-print-area {
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                box-shadow: none;
                border: none;
            }
        }