        /* --- Styles pour l'écran --- */
         body.qrcode { font-family: sans-serif; text-align: center; background: #f0f0f0; padding: 20px; }
        
        .screen-only { margin-bottom: 20px; background: white; padding: 15px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); display: inline-block;}
        .btn-print { background: #28a745; color: white; border: none; padding: 10px 20px; font-size: 16px; cursor: pointer; border-radius: 5px; }
		.id-bloc {
			font-family: "Courier New", Courier, monospace; /* Police lisible même en petite taille */
			font-weight: bold;
			font-size: 45px; /* Ajuster selon la lisibilité thermique */
			margin-top: 1mm;
			white-space: nowrap;
		}
        /* --- Styles cruciaux pour l'IMPRESSION --- */
        @media print {
            /* 1. Cacher tout ce qui n'est pas l'étiquette */
            .screen-only { display: none !important; }
            
            /* 2. Supprimer les marges par défaut du navigateur (enlève les infos d'en-tête/pied de page) */
            @page {
                margin: 0;
                size: auto; /* Laisse le pilote de l'imprimante gérer la taille du ruban */
            }

            body.qrcode { margin: 0; padding: 0; background: white; }

            /* 3. Le conteneur de l'étiquette */
            .ticket-print {
                display: block;
                width: 27mm; /* Largeur physique du ruban */
                height: 24mm; /* Longueur variable selon le contenu */
                position: relative;
                overflow: hidden;
            }

            /* 4. La rotation à 90° */
            .rotated-content {
                display: block;
                width: 24mm;
                height: 27mm; /* La hauteur devient la largeur du ruban après rotation */
                
                /* Point d'origine de la rotation : en haut à gauche */
                transform-origin: top left;
                
                /* Rotation et translation pour repositionner */
                transform: rotate(90deg) translate(0, -27mm);
                
                /* Centrage du contenu à l'intérieur de la zone rotative */
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
            }

            .qr-image {
                width: 20mm; /* Presque toute la largeur, moins une petite marge de sécurité */
                height: 20mm;
                display: block;
				margin-bottom: 0mm;
            }

            .id-bloc {
                font-family: "Courier New", Courier, monospace; /* Police lisible même en petite taille */
                font-weight: bold;
                font-size: 14px; /* Ajuster selon la lisibilité thermique */
                margin-top: 0mm;
                white-space: nowrap;
            }
        }